
Kit de reproducción para CVE-2026-58138, una RCE sin autenticación en Conductor. Incluye reglas de análisis estático de OpenTaint, pruebas aisladas, resultados SARIF y un exploit funcional en Python para la inyección de código en GraalVM.
Kit de reproducción para CVE-2026-58138, una vulnerabilidad de inyección de código con CVSS 9.8 en Conductor. Contiene la regla de OpenTaint y las aproximaciones de GraalVM, pruebas de reglas aisladas, el resultado del escaneo y un exploit funcional.
El escaneo apunta a Conductor v3.23.0 e informa dos hallazgos desde entrada de flujo de trabajo no autenticada hasta evaluadores GraalVM con acceso completo al host. Cada hallazgo contiene cuatro flujos de punto de entrada HTTP:
core/src/main/java/com/netflix/conductor/core/events/ScriptEvaluator.java:203core/src/main/java/com/netflix/conductor/core/execution/evaluators/PythonEvaluator.java:63.opentaint/rules/ - la regla de unión y el sink Context.eval de acceso completo al host.opentaint/model/config/ - modelos de paso para builders fluent de GraalVM.opentaint/test-projects/ - 15 muestras de reglas positivas y negativasresults/report.sarif - los hallazgos reproducidos de OpenTaintpoc/poc_inline_lambda_rce.py - el exploit funcionalRequiere OpenTaint y JDK 21.
opentaint compile \
.opentaint/test-projects/graaljs-polyglot-code-injection \
--output /tmp/conductor-rule-model
opentaint test rule run /tmp/conductor-rule-model \
--ruleset .opentaint/rules \
--passthrough-approximations .opentaint/model/config
Resultado esperado: Passed: 15, failed: 0.
git clone --depth 1 --branch v3.23.0 \
https://github.com/conductor-oss/conductor.git conductor
opentaint scan ./conductor \
--ruleset builtin \
--ruleset .opentaint/rules \
--rule-id java/security/graaljs-polyglot-code-injection.yaml:graaljs-polyglot-code-injection \
--passthrough-approximations .opentaint/model/config \
--max-memory 16G \
--output results/report.sarif
opentaint summary results/report.sarif --show-findings
Resultado esperado: dos hallazgos java/security/graaljs-polyglot-code-injection en los sinks listados anteriormente. Use el valor completo <rule-file>:<rule-id> mostrado en el comando para que OpenTaint también cargue las reglas de fuente y sink referenciadas por la unión.
Inicie Conductor v3.23.0 con su configuración de servidor predeterminada, luego ejecute:
# JavaScript INLINE task
python3 poc/poc_inline_lambda_rce.py --base-url http://localhost:8000
# Other supported paths
python3 poc/poc_inline_lambda_rce.py --task-type lambda --variant js
python3 poc/poc_inline_lambda_rce.py --task-type inline --variant python
El script termina con el estado 0 después de confirmar la ejecución del comando. El PoC también admite DO_WHILE y SWITCH. Ejecútelo con --help para ver todas las opciones.
Conductor corrigió la vulnerabilidad en 3.30.2. Consulte el estudio de caso para conocer la ruta vulnerable, los detalles del exploit, el diseño de la regla y el análisis del parche.