本仓库为影响 IBM Langflow OSS 的 CVE-2026-9198 提供了一个教育性概念验证。
该 PoC(poc.py)演示了未认证攻击者如何串联以下步骤:
GET/POST /api/v1/auto_login(当自动登录启用时返回超级用户令牌),以及POST /api/v1/validate/code(执行攻击者控制的 Python 代码)从而实现远程代码执行。
本代码及所提供的 Docker 栈仅用于本地安全测试与教育目的。
请勿针对您不拥有或未经明确授权测试的系统运行。
.
├── poc.py
├── vulnerable/docker-compose.yaml
└── patched/docker-compose.yaml
poc.py:漏洞利用 PoC。vulnerable/docker-compose.yaml:使用 langflowai/langflow:1.10.0 的实验室栈(存在漏洞)。patched/docker-compose.yaml:使用 langflowai/langflow:1.10.1 的实验室栈(补丁行为目标)。两个 compose 文件均被有意配置为在 http://127.0.0.1:9999 上测试 poc.py 的实验室环境。
pip install requests
启动存在漏洞的环境:
docker compose -f vulnerable/docker-compose.yaml up -d
运行 PoC:
python3 poc.py
存在漏洞时的预期结果包含一行红色 [!] 提示以及类似如下的命令输出:
[!] /api/v1/auto_login is vulnerable: uid=... gid=...
首先停止存在漏洞的栈(如果正在运行):
docker compose -f vulnerable/docker-compose.yaml down -v
启动已打补丁的环境:
docker compose -f patched/docker-compose.yaml up -d
运行相同的 PoC:
python3 poc.py
已打补丁时的预期结果是绿色 [-] 行,表示漏洞利用链已不再成功。
在 poc.py 中:
URL 默认为 http://127.0.0.1:9999CMD 默认为 id如果您需要测试不同的本地目标或命令,请调整这些常量。