CVE-2025-14987
mediumpriority · track · 0OT risk · elevatedEPSS 0.004 · 34 %ileEUUSEPSS · scored 2026-10-27
When system.enableCrossNamespaceCommands is enabled (on by default), the Temporal server permits certain workflow task commands (e.g. StartChildWorkflowExecution, SignalExternalWorkflowExecution, RequestCancelExternalWorkflowExecution) to target a different namespace than the namespace authorized at the gRPC boundary. The frontend authorizes RespondWorkflowTaskCompleted based on the outer request namespace, but the history service later resolves and executes the command using the namespace embedded in command attributes without authorizing the caller for that target namespace. This can allow a worker authorized for one namespace to create, signal, or cancel workflows in another namespace. This issue affects Temporal: through 1.29.1. Fixed in 1.27.4, 1.28.2, 1.29.2.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 1.3–5.3
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (7)
Products and version ranges known to be affected.
- Go go.temporal.io/server1.29.0-0 → 1.29.0-135.0.0.20251218190115-b292a32bacdfosvUSpkg:golang/go.temporal.io/server
advisories (2)
Vendor and ecosystem advisories describing this.
- GHSA-hmhp-gh8m-c8xpTemporal has an Incorrect Authorization vulnerability2025-12-30ghsa · osvUS
When system.enableCrossNamespaceCommands is enabled (on by default), the Temporal server permits certain workflow task commands (e.g. StartChildWorkflowExecution, SignalExternalWorkflowExecution, RequestCancelExternalWorkflowExecution) to target a different namespace than the namespace authorized at the gRPC boundary. The frontend authorizes RespondWorkflowTaskCompleted based on the outer request namespace, but the history service later resolves and executes the command using the namespace embedded in command attributes without authorizing the caller for that target namespace. This can allow a worker authorized for one namespace to create, signal, or cancel workflows in another namespace. This issue affects Temporal: through 1.29.1. Fixed in 1.27.4, 1.28.2, 1.29.2.
- GO-2026-4273Temporal has an Incorrect Authorization vulnerability in go.temporal.io/server2026-01-14vendor · osvUS
Temporal has an Incorrect Authorization vulnerability in go.temporal.io/server. NOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions. (If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.) The additional affected modules and versions are: go.temporal.io/server from v1.29.0-0 before v1.29.0-135.0.0.20251218190115-b292a32bacdf.
also known as (5)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (10)
External citations — patches, advisories, analysis.
- https://github.com/temporalio/temporal/releasesPatchcnnvd
- https://github.com/temporalio/temporal/releases/tag/v1.27.4cnnvd
- https://github.com/temporalio/temporal/releases/tag/v1.28.2cnnvd
- https://github.com/temporalio/temporal/releases/tag/v1.29.2cnnvd
- https://github.com/temporalio/temporal/releases/tag/v1.27.4enisa_euvd
- https://github.com/temporalio/temporal/releases/tag/v1.28.2enisa_euvd
- https://github.com/temporalio/temporal/releases/tag/v1.29.2enisa_euvd
- https://github.com/temporalio/temporal/releases/tag/v1.27.4nvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan