seqra/cve-2026-58138
GitHub: seqra/cve-2026-58138
Netflix Conductor 未授权 RCE 漏洞(CVE-2026-58138)的复现工具包,包含 OpenTaint 静态分析规则、扫描结果与可用 exploit。
Stars: 0 | Forks: 0
# CVE-2026-58138: Conductor 未授权 RCE
CVE-2026-58138 的复现工具包,这是 [Conductor](https://github.com/conductor-oss/conductor) 中 CVSS 9.8 的代码注入漏洞。它包含 OpenTaint 规则和 GraalVM 近似模型、隔离的规则测试、扫描结果以及可用的 exploit。
- [阅读案例研究](https://opentaint.org/blog/conductor-rce-cve-2026-58138/)
- [打开交互式 HTML 报告](https://opentaint.org/reports/conductor-cve-2026-58138.html)
- [查看包含的 SARIF](results/report.sarif)
- [获取 OpenTaint](https://github.com/seqra/opentaint)
扫描针对 Conductor v3.23.0,并报告了从未授权的工作流输入到具有完整主机访问权限的 GraalVM 评估器的两个发现。每个发现包含四个 HTTP 入口点流:
- `core/src/main/java/com/netflix/conductor/core/events/ScriptEvaluator.java:203`
- `core/src/main/java/com/netflix/conductor/core/execution/evaluators/PythonEvaluator.java:63`
## 目录
- `.opentaint/rules/` - join 规则和具有完整主机访问权限的 `Context.eval` sink
- `.opentaint/model/config/` - GraalVM fluent builder 的 passthrough 模型
- `.opentaint/test-projects/` - 15 个正面和负面的规则示例
- `results/report.sarif` - 复现的 OpenTaint 发现
- `poc/poc_inline_lambda_rce.py` - 实时 exploit
## 快速规则测试
需要 [OpenTaint](https://github.com/seqra/opentaint#quick-start) 和 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
```
预期结果:在上面列出的 sink 处有两个 `java/security/graaljs-polyglot-code-injection` 发现。使用命令中显示的完整 `:` 值,以便 OpenTaint 也加载 join 引用的 source 和 sink 规则。
## 复现 exploit
使用默认服务器配置启动 Conductor v3.23.0,然后运行:
```
# JavaScript INLINE 任务
python3 poc/poc_inline_lambda_rce.py --base-url http://localhost:8000
# 其他支持的路径
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 版本中修复了该漏洞。请参阅[案例研究](https://opentaint.org/blog/conductor-rce-cve-2026-58138/)了解漏洞路径、exploit 细节、规则设计和补丁分析。
标签:Conductor, Go语言工具, JS文件枚举, Maven, PoC, 云安全监控, 暴力破解, 漏洞验证, 逆向工具, 静态分析