
Kit de reprodução para CVE-2026-58138, uma RCE não autenticada no Conductor. Inclui regras de análise estática OpenTaint, testes isolados, resultados SARIF e um exploit funcional em Python para injeção de código no GraalVM.
Kit de reprodução para CVE-2026-58138, uma vulnerabilidade de injeção de código com CVSS 9.8 no Conductor. Contém a regra do OpenTaint e aproximações do GraalVM, testes de regra isolados, o resultado da varredura e um exploit funcional.
A varredura tem como alvo o Conductor v3.23.0 e relata duas descobertas desde entrada de workflow não autenticada até avaliadores GraalVM com acesso total ao host. Cada descoberta contém quatro fluxos de ponto 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/ - a regra de junção e o sumidouro Context.eval de acesso total ao host.opentaint/model/config/ - modelos de passagem para construtores fluentes do GraalVM.opentaint/test-projects/ - 15 amostras de regras positivas e negativasresults/report.sarif - as descobertas reproduzidas do OpenTaintpoc/poc_inline_lambda_rce.py - o exploit funcionalRequer OpenTaint e 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: duas descobertas java/security/graaljs-polyglot-code-injection nos sumidouros
listados acima. Use o valor completo <arquivo-regra>:<id-regra> mostrado no comando para que o OpenTaint também
carregue as regras de fonte e sumidouro referenciadas pela junção.
Inicie o Conductor v3.23.0 com sua configuração de servidor padrão, então execute:
# Tarefa JavaScript INLINE
python3 poc/poc_inline_lambda_rce.py --base-url http://localhost:8000
# Outros caminhos suportados
python3 poc/poc_inline_lambda_rce.py --task-type lambda --variant js
python3 poc/poc_inline_lambda_rce.py --task-type inline --variant python
O script termina com status 0 após confirmar a execução do comando. O PoC também suporta
DO_WHILE e SWITCH. Execute com --help para todas as opções.
O Conductor corrigiu a vulnerabilidade na versão 3.30.2. Veja o estudo de caso para o caminho vulnerável, detalhes do exploit, design da regra e análise do patch.