CVE-2026-120091
validatedZero produced an exploit or a check.GHSA-r7j7-m32j-h8w5 ↗EUVD-2026-115641 ↗
description
Temporal Server Worker Service deployments with the Kubernetes compute provider reachable can execute commands under the Worker Service account. An authenticated caller with read access in a namespace can trigger the affected validation path when authorization allows that operation; the resulting access may extend beyond that namespace because the service holds cluster-wide credentials.
mitigation
Remove k8s from workercontroller.compute_providers.enabled in global and namespace-specific configuration, or leave the setting unset only after upgrading. Upgrade 1.31 deployments to 1.31.3 or later, or use 1.32.0 or later, and do not explicitly enable the Kubernetes provider unless required.
fixed in 1.31.5, 1.32.2
outcome
Check only, differential: the check fires on the vulnerable build and is silent on the patched one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-11-02 21:19Zghsa: trigger signal, started the run
- 2026-11-02 21:19Zcve.org record for CVE-2026-120091
this entry in the feed
GET /api/v1/feed/CVE-2026-120091
{ "etk_id": "ETK-2026-3330", "cve_id": "CVE-2026-120091", "display_id": "CVE-2026-120091", "ghsa_id": "GHSA-r7j7-m32j-h8w5", "euvd_id": "EUVD-2026-115641", "status": "published", "anchor_state": "anchored", "title": "Command injection in Temporal Server Kubernetes compute provider", "summary": "Temporal Server Worker Service deployments with the Kubernetes compute provider reachable can execute commands under the Worker Service account. An authenticated caller with read access in a namespace can trigger the affected validation path when authorization allows that operation; the resulting access may extend beyond that namespace because the service holds cluster-wide credentials.", "mitigation": "Remove `k8s` from `workercontroller.compute_providers.enabled` in global and namespace-specific configuration, or leave the setting unset only after upgrading. Upgrade 1.31 deployments to 1.31.3 or later, or use 1.32.0 or later, and do not explicitly enable the Kubernetes provider unless required.", "vendor": "Temporal Technologies, Inc.", "product": "Temporal Server", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 1.31.0, < 1.31.5", ">= 1.32.0, < 1.32.2" ], "ecosystem": null, "fixed_versions": [ "1.31.5", "1.32.2" ], "package_name": "go.temporal.io/server", "purl": null } ], "cwes": null, "cvss_score": 8.7, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "deterministic", "check": true, "check_confidence_basis": "differential", "exploit": false, "pipeline_minutes": 39.68446686666667, "t0_at": "2026-11-02T21:19:19.927000+00:00", "signals": { "check": { "at": "2026-11-03T02:13:58.338422+00:00", "days": 0.20461124331018518, "is_lower_bound": false, "measured_at": "2026-11-02T21:19:19.927000+00:00", "url": null }, "trigger_signal": { "at": "2026-11-02T21:19:19.927000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-11-02T21:19:19.927000+00:00", "url": "https://github.com/advisories/GHSA-r7j7-m32j-h8w5" } } }
published 2026-11-03 00:51Z
last change 2026-11-03 03:55Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.