Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-58138 — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE no autenticado a través del evaluador GraalVM INLINE (HostAccess.ALL). Lab + PoC, verificado e2e (root). | Kitploit
Herramientas/GitHubGitHub/ch4120n/cve-2026-58138
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsLabs y Práctica
GitHubch4120n/cve-2026-58138

CVE-2026-58138

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) RCE no autenticado a través del evaluador GraalVM INLINE (HostAccess.ALL). Lab + PoC, verificado e2e (root).

Ver Repositorio
1hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-58138 — RCE no autenticado en Conductor a través del Evaluador GraalVM

CVE CVSS Status Auth

Resumen: Orkes/OSS Conductor (versiones 3.21.21 a < 3.30.2) evalúa JavaScript proporcionado por el usuario en tareas INLINE usando un contexto GraalVM con acceso completo al host (HostAccess.ALL). Debido a que la API comunitaria no tiene autenticación por defecto, cualquier usuario no autenticado puede enviar un workflow malicioso, pivotar desde el objeto JavaScript enlazado a java.lang.Runtime, y lograr Ejecución Remota de Código (RCE) no autenticada como el usuario del proceso Conductor (a menudo root).


Tabla de Contenidos

  1. Resumen de la Vulnerabilidad
  2. La Causa Raíz
  3. Flujo de Explotación
  4. Inicio Rápido y Reproducción
  5. Impacto
  6. Remediación
  7. Detección
  8. Créditos y Aviso

Resumen de la Vulnerabilidad

Nota sobre la versión: Las versiones hasta ~3.29.x usan la configuración simple allowHostAccess(HostAccess.ALL), que este PoC explota directamente. Las versiones 3.30.0 y 3.30.1 introdujeron una lista de bloqueo parcial (bloqueando algo de reflexión), pero la corrección completa (allowHostClassLoading(false) + endurecimiento del motor) solo se implementó en 3.30.2. Este PoC apunta a la configuración sin sandbox.


La Causa Raíz

La vulnerabilidad reside en cómo Conductor configura el contexto polyglot de GraalVM para la evaluación de scripts.

En core/.../events/ScriptEvaluator.java (≤ 3.29.x), el contexto se construye así:

root@kitploit:~
return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // DANGER: Full host interop, no sandbox
        .build();

Por qué esto es un game over:

  1. HostAccess.ALL otorga al motor JavaScript permiso para llamar a cualquier método o acceder a cualquier campo de objetos host de Java.
  2. La tarea INLINE enlaza sus parámetros de entrada a la variable JavaScript $, que es un objeto Java real.
  3. Un atacante puede encadenar reflexión de Java comenzando desde $: $.getClass().getClass() ➔ java.lang.Class ➔ Class.forName("java.lang.Runtime") ➔ Runtime.getRuntime().exec("sh -c <command>").
  4. La misma falla existe en el evaluador de Python (Context.newBuilder("python").allowAllAccess(true)).

Flujo de Explotación

El ataque no requiere autenticación y sigue tres sencillos pasos:

  1. Registrar: Envíe una solicitud POST a /api/metadata/workflow con una definición de workflow maliciosa. La tarea INLINE contiene el payload JavaScript reflexivo en su campo expression.
  2. Ejecutar: Envíe una solicitud POST a /api/workflow/{workflow_name} para ejecutar el workflow.
  3. Extraer: El motor GraalVM ejecuta el payload. El Runtime.exec reflexivo ejecuta el comando del sistema operativo, y el PoC captura hábilmente la stdout y la devuelve como salida del resultado de la tarea, que luego se obtiene a través de la API.

Inicio Rápido y Reproducción

1. Levantar el Laboratorio Vulnerable

Inicie una instancia local de la versión vulnerable de Conductor usando Docker.

root@kitploit:~
# Clone the repository and start the lab environment
docker compose -f docker/docker-lab.yml up -d

# Wait ~60 seconds for the all-in-one server to fully boot

2. Ejecutar el PoC

Ejecute el script de exploit en Python proporcionado. Depende únicamente de la biblioteca estándar de Python (no se requieren dependencias externas).

root@kitploit:~
python3 exploit.py http://127.0.0.1:8080 -c "id; hostname; whoami"

3. Salida Esperada

root@kitploit:~
[*] Target: http://127.0.0.1:8080
[*] Command: 'id; hostname; whoami'
[*] Registering workflow with a malicious INLINE (javascript) task ... (no auth)
[*] Starting workflow execution ... (no auth)
[*] Started workflow id=pwn_1705432100; 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+deb13-amd64

Nota: La salida uid=0(root) demuestra una ejecución genuina en el host, no una respuesta falsificada.


Impacto

Una explotación exitosa otorga al atacante ejecución arbitraria de comandos del sistema operativo en el host orquestador de Conductor.

Debido a que Conductor a menudo se despliega con privilegios elevados para gestionar infraestructura, esto típicamente resulta en:

  • Compromiso total del motor de workflows.
  • Acceso a las capas de persistencia subyacentes (Redis, PostgreSQL, Elasticsearch).
  • Movimiento lateral a través de credenciales almacenadas o sistemas posteriores activados por workflows.

Remediación

  1. Actualizar Inmediatamente: Actualice a Conductor ≥ 3.30.2. En esta versión, los evaluadores JS y Python ya no se ejecutan con acceso al host ni carga de clases habilitada.
  2. Defensa en Profundidad:
    • Coloque una puerta de enlace de autenticación (por ejemplo, OAuth2, API Keys) delante de la API de Conductor.
    • Ejecute el proceso del servidor Conductor como un usuario no root con mínimos privilegios.
    • Implemente una segmentación de red estricta para restringir quién puede registrar o ejecutar workflows.

Detección

Monitoree su entorno en busca de los siguientes indicadores de compromiso (IoCs):

  • Definiciones de Workflow: Marque cualquier tarea INLINE, LAMBDA, DO_WHILE o SWITCH cuyos campos expression contengan referencias a:
    • getClass, forName, Runtime, exec, ProcessBuilder
    • java.lang.reflect o acceso genérico a paquetes java.
  • Alertas a Nivel de Host: Monitoree si los procesos JVM de Conductor inician inesperadamente intérpretes de shell (sh, bash, ) o realizan conexiones de red salientes.

Para un análisis en profundidad de la cadena de reflexión, las configuraciones del evaluador específicas de la versión y el análisis del parche, consulte ANALYSIS.md.


Créditos y Aviso Legal

  • Mantenimiento del Repositorio: Ch4120N
  • Refinamiento del PoC: (Ch4120N/CVE-2026-58138)
  • Referencia del Aviso: Orkes Conductor RCE no autenticada a través de evaluadores de script GraalVM

Descargo de responsabilidad: Este repositorio contiene un laboratorio independiente y reproducible y una Prueba de Concepto (PoC) destinados estrictamente a fines defensivos, educativos y de pruebas de seguridad autorizadas. No use este código contra sistemas que no posea o para los cuales no tenga permiso explícito por escrito para realizar pruebas. Los autores no asumen ninguna responsabilidad por el mal uso.

Descargar herramienta
AtributoDetalles
Identificador CVECVE-2026-58138
Software AfectadoConductor 3.21.21 hasta 3.30.1
Versión Corregida3.30.2 (Commits: 87a7d96, c691e35)
Clase de VulnerabilidadCWE-94: Inyección de Código (evasión del sandbox polyglot de GraalVM)
Puntaje CVSS v3.19.8 (Crítico) AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AutenticaciónNinguna (la API comunitaria no está autenticada por defecto)
VerificaciónConfirmada como root contra conductoross/conductor:3.22.3
cmd.exe