CVE-2025-14987: 
Wolfi vulnerability analysis and mitigation

Overview

CVE-2025-14987 is an Incorrect Authorization vulnerability in the Temporal workflow orchestration server that allows a worker authorized for one namespace to create, signal, or cancel workflows in another namespace. When system.enableCrossNamespaceCommands is enabled (the default configuration), the frontend service authorizes RespondWorkflowTaskCompleted based on the outer request namespace, but the history service subsequently resolves and executes commands using the namespace embedded in command attributes without re-authorizing the caller. Affected versions are all Temporal releases through 1.29.1; fixed versions are 1.27.4, 1.28.2, and 1.29.2, released December 30, 2025. The vulnerability carries a CVSS v4.0 base score of 5.3 (Medium), assigned by Temporal Technologies Inc. (GitHub Advisory, NVD).

Technical details

The root cause is CWE-863 (Incorrect Authorization): the Temporal frontend service performs authorization at the gRPC boundary using the outer request namespace, but does not re-validate authorization when the history service later processes cross-namespace workflow task commands embedded in command attributes such as StartChildWorkflowExecution, SignalExternalWorkflowExecution, and RequestCancelExternalWorkflowExecution. An attacker with low-privilege access (a valid worker credential for any namespace) can craft workflow task responses that embed a target namespace in the command attributes differing from the authorized namespace, exploiting the authorization gap between the frontend and history service layers. This attack requires network access and low privileges but no user interaction, and is only possible when system.enableCrossNamespaceCommands is enabled — which is the default server configuration (GitHub Advisory, NVD).

Impact

Successful exploitation allows a worker authorized for one namespace to perform unauthorized workflow operations — including creating child workflows, sending signals, and canceling workflows — in other namespaces, effectively bypassing namespace isolation. This represents a lateral privilege escalation within the Temporal cluster, potentially enabling an attacker to interfere with business-critical workflows in sensitive namespaces, disrupt workflow execution, or inject malicious workflow logic across namespace boundaries. Confidentiality, integrity, and availability of workflows in targeted namespaces are all at low-to-moderate risk, with the primary concern being unauthorized modification and disruption of workflow state in namespaces the attacker should not have access to (GitHub Advisory, Feedly).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of reporting (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.024% (7th percentile), indicating a low near-term probability of exploitation (GitHub Advisory). No threat actor attribution has been reported.

Exploitation steps

  1. Obtain worker credentials: Acquire valid worker credentials (e.g., mTLS certificates or API tokens) for any namespace on the target Temporal cluster — this could be through legitimate access, credential theft, or a compromised worker process.
  2. Identify target namespace: Enumerate available namespaces on the Temporal cluster to identify a high-value target namespace (e.g., a production or privileged namespace) that the attacker's credentials do not normally authorize.
  3. Craft malicious workflow task response: As an authorized worker, poll for workflow tasks in the attacker-controlled namespace and prepare a RespondWorkflowTaskCompleted gRPC call that includes cross-namespace commands (e.g., StartChildWorkflowExecution, SignalExternalWorkflowExecution, or RequestCancelExternalWorkflowExecution) with the target namespace embedded in the command attributes.
  4. Submit the response: Send the crafted RespondWorkflowTaskCompleted request to the Temporal frontend. The frontend authorizes the request based on the outer (attacker-authorized) namespace and passes it to the history service.
  5. History service executes cross-namespace command: The history service resolves and executes the embedded cross-namespace command against the target namespace without performing a second authorization check, resulting in unauthorized workflow creation, signaling, or cancellation in the target namespace (GitHub Advisory, NVD).

Indicators of compromise

  • Logs: Temporal server logs showing RespondWorkflowTaskCompleted requests from a worker in namespace A that result in workflow operations (start, signal, cancel) being executed in namespace B; unexpected workflow creation or signal events in sensitive namespaces originating from workers not normally associated with those namespaces.
  • Audit/Access Logs: gRPC access logs recording cross-namespace command attributes in RespondWorkflowTaskCompleted calls where the outer request namespace differs from the namespace in command attributes.
  • Workflow History: Unexpected child workflow executions, external signals, or cancellation requests appearing in namespace workflow histories that cannot be traced to authorized workers for that namespace.
  • Network: Unusual gRPC traffic patterns from worker nodes to the Temporal frontend service involving namespaces those workers are not configured to interact with.

Mitigation and workarounds

Upgrade Temporal server to one of the patched versions: 1.27.4, 1.28.2, or 1.29.2, selecting the appropriate branch for the currently deployed version (v1.27.4 Release, v1.28.2 Release, v1.29.2 Release). As an interim workaround if immediate patching is not feasible, consider disabling system.enableCrossNamespaceCommands in the server configuration, though this will prevent legitimate cross-namespace workflow operations. Additionally, implement strict network segmentation and access controls to limit which workers can reach the Temporal frontend, reducing the attack surface for credential-based exploitation (GitHub Advisory).

Additional resources


Source: This report was generated using AI

Related Wolfi vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-115585HIGH7.1
  • Python logoPython
  • open-webui
NoYesOct 23, 2026
CVE-2026-115580HIGH7.1
  • Python logoPython
  • pypdf
NoYesOct 23, 2026
CVE-2026-115572HIGH7.1
  • Python logoPython
  • open-webui
NoYesOct 23, 2026
CVE-2026-115892MEDIUM5.7
  • Rust logoRust
  • zed
NoYesOct 23, 2026
CVE-2026-115897LOW2.1
  • JavaScript logoJavaScript
  • arangodb-3.11
NoYesOct 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management