
Набор для воспроизведения CVE-2026-58138 — уязвимости внедрения кода с оценкой CVSS 9.8 в Conductor. Он содержит правило OpenTaint и аппроксимации GraalVM, изолированные тесты правил, результат сканирования и рабочий эксплойт.
Сканирование нацелено на Conductor v3.23.0 и сообщает о двух находках: от неаутентифицированного ввода рабочего процесса до вычислителей GraalVM с полным доступом к хосту. Каждая находка содержит четыре 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/ — join-правило и сток Context.eval с полным доступом к хосту.opentaint/model/config/ — passthrough-модели для fluent-билдеров GraalVM.opentaint/test-projects/ — 15 положительных и отрицательных образцов правилresults/report.sarif — воспроизведённые находки OpenTaintpoc/poc_inline_lambda_rce.py — рабочий эксплойтТребуются OpenTaint и 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
Ожидаемый результат: 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
Ожидаемый результат: две находки java/security/graaljs-polyglot-code-injection в стоках,
перечисленных выше. Используйте полное значение <rule-file>:<rule-id> из команды, чтобы OpenTaint
также загрузил правила источника и стока, на которые ссылается join.
Запустите Conductor v3.23.0 со стандартной конфигурацией сервера, затем выполните:
# 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
Скрипт завершается с кодом 0 после подтверждения выполнения команды. PoC также поддерживает
DO_WHILE и SWITCH. Запустите его с --help, чтобы увидеть все параметры.
Conductor исправил уязвимость в версии 3.30.2. В разборе описаны уязвимый путь, детали эксплойта, разработка правила и анализ патча.