CVE-2026-104355
HighCVSS 7.0Exploitation Probability (EPSS)
Low risk28th percentile - higher than 28% of all known CVEs
Summary
A vulnerability in Temporal Server allows a connected peer cluster to modify local namespaces in the receiving cluster, which should not be replicated. The receiving cluster does not check if the namespace is global and overwrites its state, description, owner, retention, archival settings, cluster list, and active cluster if the task carries a higher failover version. An attacker controlling a registered peer's replies can change any local namespace without credentials on the receiving cluster, e.g., marking it Deprecated, causing new Workflow starts to fail.
Risk Assessment
The risk includes unauthorized modification of local namespace configuration, potentially leading to service disruption (failure of new workflows) and loss of data integrity in multi-cluster deployments.
Recommendation
Apply vendor patches immediately, restrict trust to registered clusters, and verify that namespaces are global before applying inbound replication updates.
Other vulnerabilities in Temporal Server
See all- CVE-2026-89140Medium
Temporal Server does not bind internal completion callbacks to the namespace that attached them, which allows an authenticated caller with write permission in one namespace to alter Scheduler V2 schedule state in another namespace. The callback address temporal://internal is reserved for callbacks that Scheduler V2 attaches to the Workflows it starts. In affected releases, any authenticated caller could attach a callback with that address to a Workflow start request, the address was exempt from the component.callbacks.allowedAddresses allowlist, and the History service delivered the callback to the component its token named, in whatever namespace that was, without authorizing the original caller there. When the forged completion matches an action a target schedule is running, the schedule records the action as completed while its Workflow still runs, which can defeat an overlap policy such as SKIP, and passes caller-controlled data to the next scheduled Workflow as its last completion result. A forged failure may also pause a schedule configured to pause on failure. A forgery requires the target namespace identifier, the schedule identifier, and the identity and timing of a running action. No disclosure of Workflow payloads or history was identified. Only namespaces that hold Scheduler V2 schedules can be targeted; Scheduler V2 is off by default, and existing Scheduler V2 schedules remain targets after the settings that create them are turned off.
- CVE-2026-89139High
Temporal Server vulnerability allows an authenticated user with write access to a single namespace to execute arbitrary commands on the host running the Worker Service. The command is executed immediately, and since the Worker Service process holds credentials and TLS material for the entire cluster, the impact escalates to full cluster compromise. Affected versions are 1.31.0 through 1.31.2 (before 1.31.3), and the issue is present in default binaries and container images.
- CVE-2026-87858High
Temporal Server in releases 1.30.0 and later decided whether a Workflow completion callback was internal by reading a caller-supplied HTTP header. An authenticated caller with write permission in a single namespace could attach a callback whose 'source' header caused the request to be re-targeted at the internal frontend and executed as a system administrator against the administrative API. Releases 1.25.0 through 1.29.7 are affected by a narrower form of the same defect requiring the header to match a configured cluster ID.
- CVE-2026-16652High
Temporal Server did not bound the work performed while searching for a Schedule's next action time. An authenticated caller with namespace write permission could create or update a Schedule combining a fine-grained cadence with an exclusion calendar that rejects every candidate time, causing excessive CPU consumption in Frontend and Schedule worker components.
- CVE-2026-5724Medium
The frontend gRPC server's streaming interceptor chain did not include the authorization interceptor. Configured ClaimMapper and Authorizer were bypassed for the AdminService/StreamWorkflowReplicationMessages endpoint, allowing unauthenticated access.
- CVE-2023-3485Low
Insecure defaults in open-source Temporal Server before version 1.20 on all platforms allow an attacker to craft a task token with access to a namespace other than the one specified in the request. This requires the namespace UUID and information from the workflow history for the target namespace.
Original NVD description (English source)
A connected peer cluster can modify a Temporal Server cluster's local namespaces, which are never replicated to that peer, because the receiving cluster applies inbound namespace replication updates to them. In a multi-cluster deployment, each cluster pulls replication tasks from the remote clusters an administrator has registered with connection enabled; the sending side excludes local namespaces, but the receiving side does not apply the same rule. When an inbound task names an existing namespace, the server checks at most that the namespace identifiers match, then overwrites its state, description, owner, retention, archival settings, and cluster list, and its active cluster when the task carries a higher failover version, without checking that the namespace is global. A party that controls a registered peer's replies, by operating or compromising it, can therefore change any local namespace whose name and identifier it can supply, without any credential on the receiving cluster: for example, marking it Deprecated, making the peer its active cluster, and shortening its retention, after which new Workflow starts in that namespace fail. Local namespaces include the built-in temporal-system namespace. Namespace metadata the History service refreshes from the peer while processing its history replication tasks passes through the same logic. A cluster with no remote cluster registered with connection enabled is not exposed.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

