CVE-2026-5724 json
Missing Authentication on Streaming gRPC Replication Endpoint
published 2026-04-10 6 mo ago modified 2026-09-10 1 mo ago also GHSA-q98v-9f9w-f49q , GO-2026-5578 , EUVD-2026-21607
- cvss
- 6.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
Summary
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.
The fix was applied per release line: it is present in 1.28.4, 1.29.6, 1.30.4, 1.31.2, and 1.32.0 and later releases on each line. Releases 1.31.0 and 1.31.1 do not contain the fix and are affected.
Temporal Cloud is not affected.
Patch / fix
- go go.temporal.io/server 1.28.4, 1.29.6, 1.30.4
- Temporal Technologies, Inc. temporal 1.28.4, 1.29.6, 1.30.4, 1.31.2
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.61% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | 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/S:N/AU:N/R:U/RE:L |
| CNA | 4.0 | 6.3 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:N/AU:N/R:U/V:X/RE:L/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | go.temporal.io/server | <1.28.4 >=1.29.0-135.0, <1.29.6 >=1.30.0-143.0, <1.30.4 |
1.28.4 1.29.6 1.30.4 |
Affected products
- Temporal Technologies, Inc. temporal
Classification
- Weakness
-
- CWE-306 Missing Authentication for Critical Functionality
References
-
github.com
/temporalio/temporal/releases/tag/v1.29.6
patch, web
-
github.com
/temporalio/temporal/releases/tag/v1.30.4
patch, web
-
github.com
/temporalio/temporal/releases/tag/v1.28.4
patch, web
-
github.com
/temporalio/temporal/releases/tag/v1.31.2
patch
-
nvd.nist.gov
/vuln/detail/CVE-2026-5724
advisory
-
github.com
/temporalio/temporal
package
-
github.com
/advisories/GHSA-q98v-9f9w-f49q
advisory
Sources
- CVE List CVE-2026-5724
- GitHub Advisory GHSA-q98v-9f9w-f49q
- NVD CVE-2026-5724
- OSV GO-2026-5578
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.