Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-58138-Conductor-Unauth-RCE — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE sans authentification via évaluateur GraalVM INLINE (HostAccess.ALL). Lab + PoC, vérifié e2e (root). | Kitploit
Outils/GitHubGitHub/biitts/cve-2026-58138-conductor-unauth-rce
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationDéveloppement de Charges Utiles
Labs et Pratique
GitHubbiitts/cve-2026-58138-conductor-unauth-rce

CVE-2026-58138-Conductor-Unauth-RCE

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE sans authentification via évaluateur GraalVM INLINE (HostAccess.ALL). Lab + PoC, vérifié e2e (root).

Voir le dépôt
13il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-58138 — RCE non authentifiée via l'évaluateur GraalVM INLINE dans Conductor

Conductor (OSS / Orkes) 3.21.21 … avant 3.30.2 évalue le JavaScript fourni par l'utilisateur dans les tâches INLINE (et LAMBDA / DO_WHILE / SWITCH) avec un contexte GraalVM construit avec accès hôte complet (HostAccess.ALL). Le script peut accéder à java.lang.Runtime et exécuter des commandes système. L'API communautaire n'a aucune authentification par défaut, donc soumettre un workflow avec une telle tâche est une exécution de code à distance non authentifiée.

CVECVE-2026-58138
Avisvulncheck — RCE non authentifiée via les évaluateurs de scripts GraalVM dans Orkes Conductor
AffectéConductor 3.21.21 … avant 3.30.2
Corrigé3.30.2 (commits 87a7d96, c691e35)
ClasseCWE-94 (Injection de code) — Bac à sable polyglotte GraalVM non appliqué
CVSS9.8 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AuthAucune (l'API communautaire est non authentifiée par défaut)
StatutCONFIRMÉ — reproduit en tant que root sur conductoross/conductor:3.22.3

Note de version (lisez ceci). La configuration de l'évaluateur varie dans la plage affectée : les versions jusqu'à ~3.29.x (ce lab utilise 3.22.3) construisent le contexte avec allowHostAccess(HostAccess.ALL) — la configuration sans bac à sable que décrit la CVE, et celle que ce PoC exploite directement. La ligne 3.30.0/3.30.1 a ajouté une liste de blocage partielle denyAccess(...) (réflexion bloquée) ; le correctif complet (allowHostClassLoading(false) + durcissement du moteur) n'arrive que dans 3.30.2. Ce PoC cible la configuration simple HostAccess.ALL ; il ne prétend pas contourner la liste de blocage de la 3.30.1.


Cause racine

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 permet au script d'appeler toute méthode/champ sur les objets hôtes Java. La tâche INLINE lie son entrée comme $, un véritable objet Java, donc le script peut enchaîner : $.getClass().getClass() → java.lang.Class → Class.forName("java.lang.Runtime") → Runtime.getRuntime().exec(...). L'évaluateur Python est équivalent (Context.newBuilder("python").allowAllAccess(true)).

Exploitation

  1. Enregistrer un workflow dont la tâche INLINE porte l'expression malveillante (POST /api/metadata/workflow, sans authentification).
  2. Le démarrer (POST /api/workflow/{name}, sans authentification).
  3. La tâche INLINE évalue le JS ; le Runtime.exec réflexif exécute la commande et le PoC renvoie sa sortie standard comme résultat de la tâche.

Reproduire

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"

Observé :

[*] 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) est l'utilisateur du processus Conductor ; la sortie est l'état réel de id/uname — exécution authentique, pas un écho. exploit.py utilise uniquement la bibliothèque standard Python.

Impact

Toute personne pouvant atteindre l'API Conductor peut exécuter des commandes système arbitraires (ici en tant que root) sur l'hôte orchestrateur — compromission totale du moteur de workflow, de sa persistance/files d'attente et de tous les systèmes que ses workflows et informations d'identification stockées touchent.

Remédiation

  • Mettre à jour vers Conductor ≥ 3.30.2 (les évaluateurs JS/Python ne s'exécutent plus avec l'accès hôte / le chargement de classes activé).
  • Défense en profondeur : placer une authentification devant l'API Conductor, exécuter le serveur en tant qu'utilisateur non root avec le moins de privilèges possible, et restreindre qui peut enregistrer/exécuter des workflows.

Détection

Signaler les définitions de workflow dont les tâches INLINE/LAMBDA/DO_WHILE/SWITCH contiennent des chaînes expression faisant référence à getClass, forName, Runtime, exec, ProcessBuilder, ou la réflexion java., et les processus Conductor qui génèrent des shells.

Voir ANALYSIS.md pour la chaîne de réflexion, la configuration de l'évaluateur selon les versions, et le correctif.


  • Auteur : Caio Fabrício — github.com/BiiTts
  • Le crédit de la vulnérabilité appartient au rapporteur original / à l'avis du fournisseur ; ce dépôt est un laboratoire indépendant et reproductible + PoC à des fins défensives et éducatives. Pour des tests de sécurité autorisés uniquement.
Télécharger l’outil