
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-89139 is an OS command injection vulnerability in Temporal Server's Worker Service that allows an authenticated attacker with only a namespace write role to execute arbitrary commands on the Worker Service host. It affects go.temporal.io/server versions 1.31.0 through 1.31.2 (fixed in 1.31.3 and 1.32.0). The vulnerability was published on September 21, 2026, and carries a CVSS v4.0 base score of 8.7 (High) (GitHub Advisory).
The root cause is a combination of CWE-78 (OS Command Injection), CWE-749 (Exposed Dangerous Method or Function), and CWE-1188 (Insecure Default Initialization of Resource). Temporal Server compiles a Worker Controller Instance (WCI) module into its Worker Service; this module registers a compute provider named subprocess that launches workers by executing a caller-supplied program name and argument vector directly on the host. Critically, the compute provider allowlist (workercontroller.compute_providers.enabled) defaults to an unset list, and the allowlist check is skipped entirely when unset — meaning every registered provider, including subprocess, is permitted by default. Exploitation is immediate: the configuration handler invokes all providers via the invoke strategy immediately after validating the submitted specification, requiring no deferred trigger such as a scaling event or task arrival (GitHub Advisory, temporal-auto-scaled-workers PR #129).
A successful exploit grants the attacker arbitrary OS command execution on the Worker Service host under the account the server process runs as. Because the Worker Service process holds persistence credentials for every namespace in the cluster and the cluster's TLS material, the attacker's access escalates beyond their assigned namespace to the entire cluster — enabling credential theft, data exfiltration across all namespaces, and potential full cluster compromise. Confidentiality, integrity, and availability of the vulnerable system are all rated High (GitHub Advisory).
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at the time of disclosure (GitHub Advisory). The NVD SSVC assessment rates exploitation as "none" and automatable as "no," though technical impact is rated "total." The vulnerability requires authenticated access with a write role in at least one namespace, and authorization must be configured (deployments with no authorizer already grant unrestricted access, so the namespace boundary this crosses does not exist in that case). No threat actor attribution or CISA KEV listing has been identified.
workercontroller.compute_providers.enabled is unset or includes subprocess.SetWorkerDeploymentVersion (or equivalent) request that configures a scaling group's compute provider type as subprocess, supplying an attacker-controlled program name and argument vector in the compute provider configuration.subprocess compute provider execution with unusual program names or argument vectors./bin/bash, sh, cmd.exe, or network utilities like curl, wget, nc) immediately following a deployment version configuration API call.SetWorkerDeploymentVersion or equivalent API call.subprocess — detectable by calling DescribeWorkerDeploymentVersion for each version in each namespace and inspecting the compute provider type field (GitHub Advisory).Upgrade to Temporal Server v1.31.3 or v1.32.0, which include the fix that changes the default compute provider allowlist behavior to deny-by-default (empty list) rather than permit-all when unset (v1.31.3 Release, v1.32.0 Release). As an immediate workaround on unpatched deployments, explicitly set the per-namespace dynamic configuration workercontroller.compute_providers.enabled to an empty list or a list that excludes subprocess for every namespace. Additionally, restrict write role assignments to trusted users only, and audit existing worker deployment versions using DescribeWorkerDeploymentVersion to check for any scaling group already configured with the subprocess compute provider type (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."