Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-58138-Conductor-Unauth-RCE — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) unautorisierte RCE über INLINE GraalVM Evaluator (HostAccess.ALL). Labor + PoC, e2e verifiziert (root). | Kitploit
Tools/GitHubGitHub/biitts/cve-2026-58138-conductor-unauth-rce
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlLernen & BildungPayload-EntwicklungLabs & Praxis
GitHubbiitts/cve-2026-58138-conductor-unauth-rce

CVE-2026-58138-Conductor-Unauth-RCE

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) unautorisierte RCE über INLINE GraalVM Evaluator (HostAccess.ALL). Labor + PoC, e2e verifiziert (root).

Repository anzeigen
13vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-58138 — Conductor Unauthentifizierte RCE über INLINE GraalVM Evaluator

Conductor (OSS / Orkes) 3.21.21 … vor 3.30.2 wertet benutzerbereitgestelltes JavaScript in INLINE (und LAMBDA / DO_WHILE / SWITCH) Aufgaben mit einem GraalVM-Kontext aus, der mit vollem Host-Zugriff (HostAccess.ALL) erstellt wurde. Das Skript greift per Reflection auf java.lang.Runtime zu und führt Betriebssystembefehle aus. Die Community-API hat standardmäßig keine Authentifizierung, daher ist das Einreichen eines Workflows mit einer solchen Aufgabe eine nicht authentifizierte Remote-Codeausführung.

CVECVE-2026-58138
Advisoryvulncheck — Orkes Conductor uneingeschränkte RCE über GraalVM-Script-Evaluatoren
BetroffenConductor 3.21.21 … vor 3.30.2
Behoben3.30.2 (Commits 87a7d96, c691e35)
KlasseCWE-94 (Code Injection) — GraalVM Polyglot-Sandbox nicht erzwungen
CVSS9.8 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AuthKeine (Community-API ist standardmäßig nicht authentifiziert)
StatusCONFIRMED — als root gegen conductoross/conductor:3.22.3 reproduziert

Versionshinweis (lesen Sie dies). Die Evaluator-Konfiguration variiert innerhalb des betroffenen Bereichs: Versionen bis etwa 3.29.x (dieses Labor verwendet 3.22.3) bauen den Kontext mit einfachem allowHostAccess(HostAccess.ALL) — die nicht gesandboxten Konfiguration, die die CVE beschreibt, und die dieses PoC direkt ausnutzt. Die 3.30.0/3.30.1-Linie fügte eine partielle denyAccess(...)-Blockliste hinzu (Reflexion blockiert); der vollständige Fix (allowHostClassLoading(false) + Engine-Härtung) kommt erst in 3.30.2. Dieses PoC zielt auf die einfache HostAccess.ALL-Konfiguration ab; es beansprucht nicht, die 3.30.1-Blockliste zu umgehen.


Grundursache

core/.../events/ScriptEvaluator.java (≤ 3.29.x / 3.22.3):

return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // full host interop -> no sandbox
        .build();

HostAccess.ALL erlaubt dem Skript, jede Methode/jedes Feld auf Java-Host-Objekten aufzurufen. Die INLINE-Aufgabe bindet ihre Eingabe als $, ein echtes Java-Objekt, sodass das Skript pivotieren kann: $.getClass().getClass() → java.lang.Class → Class.forName("java.lang.Runtime") → Runtime.getRuntime().exec(...). Der Python-Evaluator ist äquivalent (Context.newBuilder("python").allowAllAccess(true)).

Ausnutzung

  1. Registrieren Sie einen Workflow, dessen INLINE-Aufgabe den bösartigen expression-Code enthält (POST /api/metadata/workflow, keine Authentifizierung).
  2. Starten Sie ihn (POST /api/workflow/{name}, keine Authentifizierung).
  3. Die INLINE-Aufgabe wertet das JS aus; die reflexive Runtime.exec führt den Befehl aus und das PoC gibt dessen stdout als Aufgabenergebnis zurück.

Reproduzieren

docker compose -f lab/docker-compose.yml up -d        # conductoross/conductor:3.22.3 (in range)
# wait ~60s for the all-in-one server to boot

python3 exploit.py http://127.0.0.1:8080 -c "id; hostname"

Beobachtet:

[*] registering workflow with a malicious INLINE (javascript) task ... (no auth)
[*] started workflow id=...; reading INLINE task output ...
[+] UNAUTHENTICATED RCE CONFIRMED - command output from the Conductor host:
uid=0(root) gid=0(root) groups=0(root)
vbox
Linux 6.18.12+kali-amd64

uid=0(root) ist der Conductor-Prozessbenutzer; die Ausgabe ist der Live-id/uname-Status — echte Ausführung, kein Echo. exploit.py verwendet nur die Python-Standardbibliothek.

Auswirkungen

Jeder, der die Conductor-API erreichen kann, führt beliebige Betriebssystembefehle (hier als root) auf dem Orchestrator-Host aus — vollständige Kompromittierung der Workflow-Engine, ihrer Persistenz/Warteschlangen und aller Systeme, die ihre Workflows und gespeicherten Anmeldeinformationen berühren.

Abhilfe

  • Aktualisieren Sie auf Conductor ≥ 3.30.2 (die JS/Python-Evaluatoren laufen nicht mehr mit Host- Zugriff / aktiviertem Class-Loading).
  • Defense in Depth: Platzieren Sie Authentifizierung vor der Conductor-API, führen Sie den Server als Nicht-Root-Benutzer mit minimalen Rechten aus und beschränken Sie, wer Workflows registrieren/ausführen darf.

Erkennung

Kennzeichnen Sie Workflow-Definitionen, deren INLINE/LAMBDA/DO_WHILE/SWITCH-Aufgaben expression-Zeichenfolgen enthalten, die auf getClass, forName, Runtime, exec, ProcessBuilder oder java.-Reflexion verweisen, sowie Conductor-Prozesse, die Shells starten.

Siehe ANALYSIS.md für die Reflexionskette, die Evaluator-Konfiguration über Versionen hinweg und den Patch.


  • Autor: Caio Fabrício — github.com/BiiTts
  • Der Verdienst für die Schwachstelle gebührt dem ursprünglichen Melder / dem Herstellerhinweis; dieses Repository ist ein unabhängiges, reproduzierbares Labor + PoC für defensive und pädagogische Zwecke. Nur für autorisierte Sicherheitstests.
Tool herunterladen