CVE-2026-87858: Temporal Server privilege escalation in Workflow completion callbacks

CVE-2026-87858 · Severity: info · Published 2026-09-21

Temporal Server, a workflow orchestration platform, allows authenticated users with limited write permissions to escalate their privileges and perform administrative actions in other namespaces. An attacker can craft a malicious callback that tricks the server's internal API into executing unauthorized API calls with system administrator privileges, enabling actions like terminating workflows, registering namespaces, or modifying configurations they should not access.

Vendors: Temporal.

Quick answers

Is CVE-2026-87858 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-87858 being exploited in the wild.
How severe is CVE-2026-87858?
Informational severity, published 21 September 2026.
Which products and versions are affected?
Temporal Server 1.25.0 and later.
Is there a fix for CVE-2026-87858?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-87858 attacked?
It is attacked over the network, in a hosted service.
Am I affected by CVE-2026-87858?
Check whether you run Temporal Server at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability exists in the callback delivery logic (both HSM and CHASM implementations) where the History service uses a caller-supplied HTTP header to determine if a callback is internal. An authenticated attacker with namespace-scoped write permissions can attach a completion callback with a non-empty source header; when delivered, the server rewrites only scheme/host while preserving the attacker's path/query/body and sends the request to the internal frontend, which authorizes it as a system administrator without authentication. In versions 1.30.0+, any non-empty source header triggers the vulnerability; in versions 1.25.0-1.29.7, the header must match a cluster ID UUID.

Affected products

  • Temporal Server 1.25.0 and later

Timeline

  • 2026-09-21: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.