CVE-2025-14987

Cross Namespace Commands Authorization Bypass

Published Dec 30, 2025 CVSS 4.0 · 5.3 Medium EPSS < 1% KEV · Not listed
Description
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.

Remediation

Vendor Workaround

Set system.enableCrossNamespaceCommands to false, unless cross-namespace workflow-task commands are explicitly required.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-hmhp-gh8m-c8xp Temporal has an Incorrect Authorization vulnerability
History
Type Values Removed Values Added
First Time appeared Temporal
Temporal temporal
Vendors & Products Temporal
Temporal temporal
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title Cross Namespace Commands Authorization Bypass
Weaknesses CWE-863
References
Metrics cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:L/SI:L/SA:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
Temporal
Published
Updated
Jan 2, 2026, 3:30 PM
Reserved
Dec 19, 2025, 7:19 PM
Status
Deferred
Published
Dec 30, 2025, 9:15 PM
Modified
Jun 17, 2026, 8:36 AM