ywh-jfellus/CVE-2026-9198

GitHub: ywh-jfellus/CVE-2026-9198

针对 IBM Langflow 自动登录绕过导致的未经身份验证远程代码执行漏洞(CVE-2026-9198)的教育性 PoC,附带漏洞与修复版本的对照实验环境。

Stars: 0 | Forks: 0

# CVE-2026-9198 - IBM Langflow 通过自动登录绕过实现的未经身份验证的 RCE(教育性 PoC) 此仓库提供了针对影响 IBM Langflow OSS 的 **CVE-2026-9198** 的**教育性概念验证**。 该 PoC (`poc.py`) 演示了未经身份验证的攻击者如何将以下请求进行链式组合: 1. `GET/POST /api/v1/auto_login`(当启用自动登录时返回超级用户 token),以及 2. `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`** 的**实验环境**。 ## 前置条件 - Docker + Docker Compose - Python 3.8+ - Python 包: ``` 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 配置 在 `poc.py` 中: - `URL` 默认为 `http://127.0.0.1:9999` - `CMD` 默认为 `id` 如果您需要测试不同的本地目标或命令,请调整这些常量。 ## 参考 - https://nvd.nist.gov/vuln/detail/CVE-2026-9198 - https://www.ibm.com/support/pages/node/7278927 - 灵感来源于 https://github.com/0xdak/CVE-2026-9198_exploit
标签:Docker, PoC, Web报告查看器, 安全, 安全防御评估, 暴力破解, 版权保护, 编程工具, 请求拦截, 超时处理, 远程代码执行, 逆向工具