Orkes Conductor (workflow and AI-agent orchestrator, 3,000+ enterprises) — CVE-2026-58138, CVSS 9.8: an unauthenticated POST of a workflow definition with an INLINE/LAMBDA/DO_WHILE/SWITCH expression runs OS commands through an unsandboxed GraalVM evaluator; fixed 3.30.2 in June without a security label, PoC public in August, exploited in the wild since 2026-08-21 with ~1,300 attempts blocked on 09-08/09
TL;DR
Conductor (Netflix-origin, now Orkes / conductor-oss) is the workflow engine that a growing share of teams use to orchestrate microservices and AI agents; Orkes says it runs in 3,000+ enterprises including LinkedIn, Twilio and Quest Diagnostics. CVE-2026-58138 (VulnCheck CNA, published 2026-06-30; CVSS 3.1 9.8 / 4.0 9.3; CWE-94): Conductor 3.21.21 through 3.30.1 "allows remote attackers to execute arbitrary OS commands by submitting inline workflow definitions containing malicious JavaScript or Python expressions to the workflow API endpoint prior to authentication," because the GraalVM evaluators behind INLINE, LAMBDA, DO_WHILE and SWITCH tasks ran with HostAccess.ALL / allowAllAccess(true) — no sandbox, so Java reflection or a subprocess call reaches the OS as the Conductor process (often root). The fix shipped in 3.30.2 on 2026-06-03 with no security label; 3.30.0/3.30.1 are only partially fixed. A public exploit appeared in early August; Empirical Security saw in-the-wild attacks from 2026-08-21, and Fortinet blocked ~1,300 attempts on 2026-09-08/09. SecurityWeek reported continuing exploitation on 2026-09-18. If your agents' tool calls, retries and human-approval steps are Conductor workflows, an attacker with this bug owns the orchestrator and every credential its workers hold. Upgrade to 3.30.2+, put authentication in front of the API, and hunt for unexpected child processes of the Conductor JVM.
What happened
The bug. Conductor lets workflow authors embed small JavaScript (or Python) expressions in task definitions to transform data, branch (SWITCH), loop (DO_WHILE) or compute inline (INLINE, LAMBDA). Those expressions were evaluated on a GraalVM polyglot context configured with host access fully open, which turns "evaluate this expression" into "run this code on the JVM with the JVM's privileges." Because the workflow-definition API accepted definitions before authentication, anyone who could reach the port could submit a workflow whose expression reaches java.lang.Runtime or a subprocess. NVD/VulnCheck: "Attackers can exploit unsandboxed GraalVM evaluators configured with HostAccess.ALL or allowAllAccess(true) through INLINE, LAMBDA, DO_WHILE, and SWITCH task types to invoke arbitrary system commands via Java reflection or direct subprocess calls." Credit: seqradev (VulnCheck advisory).
Versions. Affected 3.21.21 ≤ v ≤ 3.30.1; fixed 3.30.2 (commits 87a7d96a… and c691e35e… in conductor-oss/conductor, release tag v3.30.2). Empirical Security's note: 3.30.0 and 3.30.1 "contain only partial fixes; 3.30.2 is required." The fix shipped 2026-06-03 without being labelled a security release, and the CVE followed on 06-30 — a silent-patch window of four weeks during which upgraders had no reason to prioritise it.
Exploitation timeline. Early August: proof-of-concept code published (Exploit-DB carries one entry; a working exploit targets 3.23.0). 2026-08-21: Empirical Security identifies in-the-wild attacks, recurring thereafter. 2026-09-08/09: Fortinet's FortiGuard blocks ~1,300 exploitation attempts and issues an Outbreak Alert. 2026-09-18: SecurityWeek reports exploitation ongoing. EPSS 0.091 (94th percentile) per Empirical; not on CISA KEV as of the 2026-09-18 feed.
Why an orchestrator matters for this audience. Conductor is marketed as "a unified enterprise framework for orchestrating microservices, workflows, and AI agents" (SecurityWeek's description). In an agent deployment the orchestrator holds the worker credentials, the model-provider keys passed through task inputs, and the approval gates between an agent's plan and its side effects. An unauthenticated RCE here is the same shape as the n8n, Flowise and Langflow entries — expression evaluation in a workflow tool that was exposed to the network with the sandbox off — and, like those, it went from CVE to mass exploitation in weeks. Empirical's title says it: "The 9.8 Nobody Knows They Are Running."
Sources and status. VulnCheck (CNA and researcher-side advisory) and NVD carry the record; Empirical Security's September write-up and SecurityWeek (quoting Fortinet) independently document exploitation. Status active because exploitation is current and the population of unpatched, internet-reachable instances is what the attackers are working through.
Am I affected?
# Version: the Conductor UI/API reports it; anything below 3.30.2 is vulnerable
C="$CONDUCTOR_URL" # e.g. the host:8080 your workers point at
curl -s "$C/api/health" 2>/dev/null; curl -s "$C/api/metadata/workflow" 2>/dev/null | head -c 200
# Is the API reachable without auth? If the metadata/workflow endpoints answer without a token, you are exposed.
# Hunt: workflow definitions with INLINE / LAMBDA / DO_WHILE / SWITCH tasks whose expressions reference Java classes or process spawning
curl -s "$C/api/metadata/workflow" | jq -r '.[] | select(.tasks[]?.type | IN("INLINE","LAMBDA","DO_WHILE","SWITCH")) | .name' 2>/dev/null | sort -u
# Host: unexpected child processes of the Conductor JVM (shells, curl, wget, python) are the exploitation signal
ps -eo pid,ppid,comm,args | grep -E 'conductor|java' | head
Empirical's exposure tip for defenders inventorying their own estate: instances announce themselves with a "Conductor UI" page title.
If you are affected
- Upgrade to 3.30.2 or later and restart; then treat the host as compromised if it was reachable from the internet after early August:
playbooks/if-your-webapp-was-compromised.md. - Rotate every credential the orchestrator or its workers held (queue, database, cloud, model-provider keys):
playbooks/rotating-cloud-credentials.md. - Review workflow definitions created or modified since 2026-08-01 for attacker-planted tasks — persistence in a workflow engine is a scheduled workflow.
Prevention
- Never expose an orchestrator's API without an authenticating reverse proxy; network-isolate it from the internet.
prevention/agent-sandboxing.md,prevention/ci-cd-hardening.md. - Treat "expression evaluation" features in workflow/agent tools as code execution and check how they are sandboxed before enabling them.
- Subscribe to the project's releases, not only its security advisories — this fix shipped without a label.
Sources
- NVD — CVE-2026-58138 — CNA VulnCheck, published 2026-06-30, CVSS 9.8 / 9.3, CWE-94, the description quoted above, references to the fix commits and v3.30.2; queried via the NVD API 2026-09-18.
- VulnCheck advisory — Orkes Conductor unauthenticated RCE via GraalVM script evaluators — affected 3.21.21–3.30.1, fixed 3.30.2, credit seqradev. Fetched 2026-09-18.
- Empirical Security — September 2026 CVE of the Month: The 9.8 Nobody Knows They Are Running (CVE-2026-58138) — the 2026-06-03 unlabelled fix, partial fixes in 3.30.0/3.30.1, in-the-wild exploitation from 2026-08-21, EPSS, the 3,000-enterprise figure, hunting guidance. Fetched 2026-09-18.
- SecurityWeek — Critical Orkes Conductor Vulnerability Exploited in Attacks — 2026-09-18; Fortinet's ~1,300 blocked attempts on 09-08/09, the PoC timeline, the "microservices, workflows, and AI agents" description. Fetched 2026-09-18.