GitHub Advisoryadvisory · Go

GHSA-q98v-9f9w-f49q Temporal does not enforce authentication and authorization for the streaming AdminService/StreamWorkflowReplicationMessages endpoint

MEDIUM Published 2026-04-10 Modified 2026-04-13 Official page ↗
Aliases
CVE-2026-5724
Ecosystem
Go
Packages
go.temporal.io/server
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:L/SI:N/SA:N
Weaknesses
CWE-306
Reviewed
2026-04-13

Affected packages

• Go go.temporal.io/server: < 1.28.4 → fixed in 1.28.4 • Go go.temporal.io/server: >= 1.29.0-135.0, < 1.29.6 → fixed in 1.29.6 • Go go.temporal.io/server: >= 1.30.0-143.0, < 1.30.4 → fixed in 1.30.4

Description

The frontend gRPC server's streaming interceptor chain did not include the authorization interceptor. When a ClaimMapper and Authorizer are configured, unary RPCs enforce authentication and authorization, but the streaming AdminService/StreamWorkflowReplicationMessages endpoint accepted requests without credentials. This endpoint is registered on the same port as WorkflowService and cannot be disabled independently. An attacker with network access to the frontend port could open the replication stream without authentication. Data exfiltration is possible, but  only when a configured replication target is correctly configured and the attacker has knowledge of the cluster configuration, as the history service validates cluster IDs and peer membership before returning replication data. Temporal Cloud is not affected.

Related

Alias · CVE (1)

  • CVE-2026-5724 The frontend gRPC server's streaming interceptor chain did not include the authorization interceptor. vulnerability

Weakness · CWE (1)

  • CWE-306 Missing Authentication for Critical Functionality weakness

References