Daily Top · Vulnerabilities / Workflow

Conductor's 9.8 is unauthenticated GraalVM RCE. 3.30.2 shipped in June. CISA still has no KEV row.

CVE-2026-58138 is pre-auth OS command execution through INLINE tasks. Fortinet blocked 1,290 attempts in a day. The June notes never said CVE. 3.30.1 is still in the affected range.

RWP Ventures · 2026-09-20 · event 2026-09-19 · 13 min read · priority 8.3

Bottom line up front

CONFIRMED CVE-2026-58138 is unauthenticated remote code execution in Orkes Conductor / conductor-oss Conductor. The CNA range is 3.21.21 before 3.30.2. CVSS 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) and 9.3 CVSS v4. CWE-94. Finder credited: seqradev. VulnCheck published the CVE on 30 June 2026. The patch is 3.30.2, tagged 3 June 2026.

The bug is not a mystery parser. INLINE, LAMBDA, DO_WHILE, and SWITCH tasks evaluate attacker-supplied JavaScript or Python on a GraalVM context built with HostAccess.ALL / allowAllAccess(true). That is full host access. The community API does not require authentication by default. A reachable workflow API is the incident class.

Exploitation is CONFIRMED by more than one sensor owner. It is not in CISA KEV. Catalog 2026.09.18 (released 18 September 19:00 UTC, count 1716), checked this morning, has no row for 58138. Do not wait for one.

FactRecord
Productconductor-oss Conductor (Orkes-stewarded OSS; self-hosted community API)
CVECVE-2026-58138
Floor that closes it3.30.2 (current stable line is already past this; 3.32.4 shipped 10 September)
3.30.1Still affected per the CNA range. Do not close the ticket on 3.30.1.
Auth requiredNone on the default community API
KEVAbsent from 2026.09.18
Ransomware-KnownNot a CISA field. UNKNOWN
Named actorUNKNOWN

Fortinet’s outbreak alert (15 September) and threat-signal report (9 September) are the volume numbers in English coverage this week: 1,290 IPS blocks in 24 hours as of 9 September (+132% day-over-day); 6,696 over seven days (+17% week-over-week). Origins of that blocked traffic, not attribution: Germany, Hong Kong, Indonesia, the U.A.E., India. The Hacker News carried the combined write-up on 19 September. SecurityWeek, 18 September.

This is not a re-run of [yesterday’s Linux kernel KEV trio](/posts/2026-09-19-linux-kernel-kev-ktls-ebtables-afalg/). Different product, different clock, and CISA has not listed it.

What happened

Conductor is a Java workflow engine. Platform, data, and ML teams use it to orchestrate microservices, jobs, and — increasingly — agent pipelines. The OSS build is what most security inventories never name.

Two GitHub commits are the patch trail:

CVE-2026-58138 landed 27 days later, 30 June, assigned by VulnCheck. NVD last-modified 14 July. CISA-ADP’s earlier SSVC snapshot said exploitation none; that snapshot is stale against September telemetry. Treat Fortinet / Empirical / Previdian as the current exploitation record, not the July SSVC row.

Public exploit material followed. Exploit-DB EDB-52633 is dated 10 August 2026 (Fortinet’s outbreak timeline says 9 August). RWP is not reproducing it. Existence of a public PoC is CONFIRMED. The payload is not needed to hunt.

Sensor timeline, as published — not a single campaign:

WhenWhoWhat they claimStatus
24 July onwardPrevidianThree honeypot attempts, two IPs (France, U.S.)REPORTED (Previdian; relayed by THN)
21 AugustEmpirical SecurityIn-the-wild exploitation in their telemetryREPORTED (Empirical; relayed by THN / SecurityWeek)
9 SeptemberFortiGuard1,290 blocks / 24h; 6,696 / 7 daysCONFIRMED as Fortinet’s own IPS counts
15 SeptemberFortiGuardOutbreak alert, HighCONFIRMED Fortinet publication date
18–19 SeptemberSecurityWeek, THNEnglish amplificationCONFIRMED articles; they are secondary

No vendor PSIRT blog from Orkes was in the primary set this morning. The remediation record is the GitHub tag and the CNA range.

Why it matters

Three facts should not be collapsed.

First: the patch did not announce itself as a patch. A June point release that says “restrict graaljs further” will not fire a CVE-driven scanner, a KEV SLA, or a change-advisory board that only reads CISA. That is why Empirical titled it the 9.8 nobody knows they are running. The failure mode is not “we ignored a KEV due date.” There is no due date.

Second: the install is a workflow brain, not a brochure app. A Conductor process that can start INLINE tasks can reach whatever that host’s identity already can — cloud keys, queue credentials, internal HTTP, the next microservice. Compromising the orchestrator is not the same as defacing a marketing CMS. Do not write “website RCE” on the ticket.

Third: default-open API plus HostAccess.ALL is the whole bug. Teams that put SSO in front of the UI and left :8080/api on a cluster network have not authenticated the thing that evaluates the script. Internet exposure is the worst case. An unauthenticated API on a shared Kubernetes network is still a pre-auth RCE against whatever else that namespace holds.

We have no confirmed OT, ICS, or physical-process impact. A Conductor instance used to schedule plant-adjacent jobs is still an IT compromise unless someone produces process evidence. Do not write one.

Empirical quotes Orkes marketing: Conductor “runs inside more than 3,000 enterprises,” with LinkedIn, Twilio, and Quest Diagnostics named as vendor examples. Those names are REPORTED as Orkes’s figures via Empirical, not an RWP victim list and not a confirmed exposure census.

Who / what is affected

AssetWhat to assumeStatus
Self-hosted conductor-oss 3.21.21 through 3.30.1, community API, no authPre-auth RCE if the workflow API is reachableCONFIRMED CNA range + CVE description
conductoross/conductor images older than 3.30.2Same, including all-in-one Docker that labs show running as rootCONFIRMED image family; root-in-Docker is lab/PoC REPORTED, not a census of production UID
3.30.2, 3.32.4, 3.33.0-rc*Outside the CNA affected range for this CVECONFIRMED floor 3.30.2; 3.32.4 is current stable as of 10 September
Orkes cloud / hosted control planeNot in the CNA product block (conductor-oss Conductor 3.21.21 < 3.30.2). Do not assume SaaS is this CVE without a vendor statementUNKNOWN / not claimed
UI behind SSO, API still open on 8080The API is the bug, not the React shellASSESSED from product behavior described by CNA + Empirical
Helm / platform / ML “agent orchestration” forksInventory the image and the evaluator, not the chart nameASSESSED
Named ransomware familyUNKNOWNNo CISA ransomware field; no vendor claim
OT / PLC / processNot claimedNo evidence

Technical context

RWP is not publishing INLINE JavaScript, GraalVM interop, or a register-and-start sequence.

What defenders need from the primary records:

ATT&CK mapping for what is stated, not a hypothetical chain:

Follow-on that is not claimed: a named C2, a ransomware brand, identity of Fortinet’s source countries with a group, or container-escape beyond the Conductor PID.

Threat / exploitation status

ClaimStatusBasis
Unauthenticated RCE, CNA range 3.21.21 < 3.30.2CONFIRMEDCVE.org / NVD / VulnCheck
Patch in 3.30.2, 3 June, notes do not name the CVECONFIRMEDGitHub release + commits
Public PoC / EDB-52633CONFIRMED existenceExploit-DB; Fortinet outbreak references it
Fortinet blocking at outbreak scale (9 and 15 Sep)CONFIRMED as Fortinet telemetryThreat signal + outbreak alert
Empirical exploitation 21 Aug; Previdian honeypots from 24 JulREPORTEDThose firms; THN/SecurityWeek relay
In CISA KEV 2026.09.18NoJSON feed this morning
VulnCheck KEVCONFIRMED as VulnCheck’s own catalogVulnCheck advisory page
Named actor / ransomwareUNKNOWNNot in Fortinet outbreak; not in CISA
Orkes 3,000-enterprise figure / named customersREPORTEDEmpirical quoting vendor marketing
OT / physical-process impactNot claimedNo evidence

High confidence on: CVE ID, CVSS, CNA version range, 3.30.2 as floor, commit SHAs and dates, absence from catalog 2026.09.18, Fortinet’s published block counts and dates, EDB ID. Moderate confidence that internet-exposed OSS images on 8080 are the highest-leverage exposure (product default + Fortinet “do not expose” guidance; no public census). Low confidence on victim set, what the blocked attempts actually achieved, and whether Fortinet’s source-country mix is one operator.

X posts this morning repeated the THN/Fortinet numbers. Treat X as discovery, not a second independent measurement.

What defenders should do

  1. Inventory Conductor, not “Java apps.” Search for conductoross/conductor images, Helm releases, page title Conductor UI, Swagger at /swagger-ui, default 8080, and platform/ML workflow charts that wrap the same evaluator. Shadow IT is the point. Empirical’s Shodan/Censys hint is http.title:"Conductor UI" — use it as an internal and external exposure query, then confirm version.
  1. If you are below 3.30.2, upgrade. 3.30.1 is not remediation. Pull a current image (3.32.4 or later in the 3.32 line as of 10 September) rather than stopping at the CVE floor if your change process allows it. Confirm the running tag after the rollout.
  1. If you cannot upgrade today, take the API off untrusted networks. Fortinet’s until-patched list: restrict external access to workflow API endpoints; segment; do not expose the service to the internet; monitor suspicious workflow submissions and unexpected command execution from the Conductor process. Putting SSO on the UI only is not that list.
  1. Hunt before you declare the host clean. Preserve API logs covering workflow metadata registration and workflow start from at least 24 July (first public honeypot date in this record) through today. Look for unauthenticated clients, INLINE/LAMBDA/DO_WHILE/SWITCH tasks you did not author, new workflow names, and child processes of the Conductor UID (shells, curl, miners, unexpected JDKs). There is no public IOC pack in Fortinet’s outbreak page that RWP independently extracted as a hash list. Do not invent one.
  1. Assume secrets on that host are in play if you were exposed. Rotate cloud keys, queue credentials, and tokens the Conductor task workers could read. Patching the image does not invalidate a key that already left.
  1. Do not wait for KEV. [Linux kTLS CVE-2025-39682](/posts/2026-09-19-linux-kernel-kev-ktls-ebtables-afalg/) is on a 21 September federal clock because CISA listed it. This CVE is exploited and unlisted. KEV is a prioritization input, not a permission slip. Sequence it against the rest of this week’s already-published control-plane work: [Cisco ISE CVE-2026-76460](/posts/2026-09-17-cisco-ise-cve-2026-76460-auth-bypass/) (KEV due 19 September), [Check Point CVE-2026-91843](/posts/2026-09-18-checkpoint-mgmt-cve-2026-91843-root-rce/) (still not in 2026.09.18), [vCenter CVE-2026-59310](/posts/2026-09-16-vmware-vcenter-cve-2026-59310-ransomware/) (ransomware-Known).

This is not an exploitation guide. Use the GitHub tag and your API logs.

RWP assessment

Score 8.3. Unauthenticated RCE on a workflow orchestrator, public PoC since August, Fortinet outbreak numbers in the thousands, and a June fix that never said CVE. English coverage landed 19 September, after [yesterday’s kernel KEV Daily Top](/posts/2026-09-19-linux-kernel-kev-ktls-ebtables-afalg/). RWP considered this CVE as a runner-up on 18 and 19 September and has not published it as a Daily Top.

It outranks SolarWinds Access Rights Manager CVE-2026-28326 (THN 19 September; hardcoded static key; CVSS 8.8 AV:A; advisory 17 September; no in-wild claim from SolarWinds; adjacent-network, not the same exposure class). It outranks Microsoft CVE-2026-85889 Azure AI Foundry CVSS 10 (17 September MSRC; already mitigated in the service; no customer action; no exploitation). It outranks Gravity Forms CVE-2026-84434 (Wordfence 18 September; unauth upload, 9.8, hidden file-upload field prerequisite; no exploitation in the record we used). It outranks Unbound CVE-2026-81642 and the BIND 9.20.29 set (mid-September DNS security releases; CISA/NLnet Labs: no exploitation as of 17 September). Linux kernel KEV, ISE 76460, SEG 76461, vCenter 59310, and Check Point 91843 are continuations of this week’s already-published tops.

The failure mode to sand down is “it is not in KEV so it is not this week” and its twin, “we do not run Orkes.” Ask whether a Conductor image or a workflow UI titled Conductor is on a network you own. Then read the tag. Then read the API log.

What we are watching

Sources

Sources

  1. The Hacker News — Critical Pre-Auth RCE in Orkes Conductor Exploited in the Wild
  2. FortiGuard Labs — Outbreak Alert — Orkes Conductor Evaluator RCE
  3. FortiGuard Labs — Threat Signal Report — Orkes Conductor Evaluator RCE
  4. SecurityWeek — Critical Orkes Conductor Vulnerability Exploited in Attacks
  5. CVE — CVE-2026-58138
  6. NVD — CVE-2026-58138
  7. VulnCheck — Orkes Conductor unauthenticated RCE via GraalVM script evaluators
  8. Empirical Security — September 2026 CVE of the Month
  9. GitHub — conductor-oss/conductor v3.30.2
  10. GitHub — Restrict graaljs further (#1123)
  11. GitHub — Deny access to some classes in js evaluator (#1057)
  12. CISA — KEV JSON feed catalog 2026.09.18
  13. CISA — Known Exploited Vulnerabilities Catalog
  14. Exploit-DB — EDB-52633