CVE-2026-87858
Temporal Server completion callback source header can direct attacker-chosen requests to the internal frontend with administrator authorization
02 Description
Temporal Server completion callback source header can direct attacker-chosen requests to the internal frontend with administrator authorization
03 Exploitation and scoring
- Exploitation
- Assessed, none found. CISA's assessment recorded neither public exploit code nor evidence of exploitation when it was made.
- SSVC decision
- ExploitationnoneCISA recorded no public exploit code and no evidence of exploitation.
- AutomatablenoAt least one step from reconnaissance to exploitation cannot be reliably automated.
- Technical ImpactpartialSuccessful exploitation gives limited control of the vulnerable component.
- EPSS probability
- 0.77% probability of exploitation activity in the next 30 days.
- EPSS percentile
- Equal to or higher than the score of 55.6% of scored records. A rank, not a probability.
- NVD base score
- 7.2 (CVSS v4.0), scored by the NVD independently of the CNA.
- NVD CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/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:X/AU:X/R:X/V:X/RE:X/U:X
- NVD analysis status
- Awaiting Analysis. NVD last modified this record on 2026-09-22.
- Red Hat severity
- No Red Hat rating. Red Hat rates the CVEs that affect its products.
Exploit-prediction scores from FIRST. Independent scoring and analysis status from the NVD. Vendor severity from Red Hat. Exploitation assessment and catalog membership from CISA.
04 Metadata
- Published
- 2026-09-21 11:39Z1 MO AGO
- Last updated
- 2026-09-21 15:25Z1 MO AGO
- Reserved
- 2026-09-09
- Assigning CNA
- Temporal
- Record state
- PUBLISHED
- Severity
- High (CVSS 7.2)
- CNA CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
- Weaknesses
- CWE-807Reliance on Untrusted Inputs in a Security DecisionBase
- Data version
- 5.2
- Document digest
- 04faadf14157da626023144bfb6846af44b58a63cee75010c993017de7147b30
05 Affected products
06 References
- github.comFix pull requesthttps://github.com/temporalio/temporal/pull/11965
- github.com1.31 backport, adds the callback.inspectSourceHeader toggle defaulted to truehttps://github.com/temporalio/temporal/pull/11982
- github.com1.30 backport, adds the callback.inspectSourceHeader toggle defaulted to truehttps://github.com/temporalio/temporal/pull/12085
- github.comTemporal Server 1.30.7https://github.com/temporalio/temporal/releases/tag/v1.30.7
- github.comTemporal Server 1.31.3https://github.com/temporalio/temporal/releases/tag/v1.31.3
- github.comTemporal Server 1.32.0https://github.com/temporalio/temporal/releases/tag/v1.32.0
07 Remediation
Upgrade to Temporal Server 1.32.0, which ships callback.inspectSourceHeader set to false and needs no further change. The fix makes the completion-callback source header opt-in behind the callback.inspectSourceHeader setting, so a callback's internality is decided from the server-generated callback URL rather than from a caller-supplied header. Releases 1.30.7 and 1.31.3 carry the same code but ship callback.inspectSourceHeader set to true for mixed-version compatibility while callbacks created with the older callback URL template drain, and while it is true the routing behavior matches the affected releases; an operator upgrading within the 1.30 or 1.31 line must therefore also set callback.inspectSourceHeader to false once every pre-fix server has drained. Operators who set callback.inspectSourceHeader to true restore the pre-fix behavior in full, including preservation of the caller's path and query across the internal rewrite, and should not enable it on a cluster that accepts caller-supplied completion callbacks. Temporal Server releases in the 1.25.0 through 1.29.7 range are outside the supported window and receive no fix; operators on those releases should upgrade to a supported line.