支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:752

75.2%
一、 漏洞 CVE-2025-59528 基础信息
漏洞信息
                                        # Flowise 远程代码执行漏洞

## 概述

Flowise 是一个用于构建定制化大语言模型流程的可视化拖拽工具。在版本 3.0.5 中,存在一个远程代码执行(RCE)漏洞。

## 影响版本

- **受影响版本**:3.0.5

## 漏洞细节

漏洞源于 **CustomMCP 节点** 的配置处理逻辑。该节点允许用户输入 `mcpServerConfig` 字符串,用于配置与外部 MCP 服务器的连接。在处理过程中,系统通过 `convertToValidJSONString` 函数解析该字符串,**使用 `Function()` 构造函数直接执行用户输入的内容**,而未经任何安全校验。

由于 `Function()` 会将输入作为 JavaScript 代码执行,**攻击者可以注入恶意代码并通过 Node.js 环境执行**,例如访问 `child_process` 和 `fs` 等危险模块,实现任意命令执行和文件操作。

## 漏洞影响

该漏洞允许攻击者在目标系统上执行任意代码,从而可能导致:
- 敏感数据泄露
- 服务器被控制
- 应用被篡改或破坏

## 补丁状态

该问题已在版本 **3.0.6** 中修复。建议用户升级至该版本或以上版本以确保安全。
                                        
神龙判断

是否为 Web 类漏洞:

判断理由:

是。这个漏洞存在于Flowise服务端,在处理用户提供的配置设置时,没有对输入进行安全验证就直接执行了用户输入的JavaScript代码,导致远程代码执行。这使得攻击者可以利用此漏洞执行任意代码,对服务端系统造成威胁。此漏洞在版本3.0.6中已被修复。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
Flowise has Remote Code Execution vulnerability
来源:美国国家漏洞数据库 NVD
漏洞描述信息
Flowise is a drag & drop user interface to build a customized large language model flow. In version 3.0.5, Flowise is vulnerable to remote code execution. The CustomMCP node allows users to input configuration settings for connecting to an external MCP server. This node parses the user-provided mcpServerConfig string to build the MCP server configuration. However, during this process, it executes JavaScript code without any security validation. Specifically, inside the convertToValidJSONString function, user input is directly passed to the Function() constructor, which evaluates and executes the input as JavaScript code. Since this runs with full Node.js runtime privileges, it can access dangerous modules such as child_process and fs. This issue has been patched in version 3.0.6.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
来源:美国国家漏洞数据库 NVD
漏洞类别
对生成代码的控制不恰当(代码注入)
来源:美国国家漏洞数据库 NVD
漏洞标题
Flowise 代码注入漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
Flowise是FlowiseAI开源的一个用于轻松构建 LLM 应用程序的工具。 Flowise 3.0.5版本存在代码注入漏洞,该漏洞源于CustomMCP节点直接执行用户输入的JavaScript代码,可能导致远程代码执行。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
代码注入
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2025-59528 的公开POC
#POC 描述源链接神龙链接
1Nonehttps://github.com/zimshk/CVE-2025-59528.yamlPOC详情
2CVE-2025-59528https://github.com/B1ack4sh/Blackash-CVE-2025-59528POC详情
3CVE-2025-59528https://github.com/Ashwesker/Blackash-CVE-2025-59528POC详情
4CVE-2025-59528https://github.com/Ashwesker/Ashwesker-CVE-2025-59528POC详情
三、漏洞 CVE-2025-59528 的情报信息
  • 标题: Release flowise@3.0.6 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            从这个网页截图中,关于漏洞的关键信息如下:
    
    - **Bugfix**部分列出了多个修复的漏洞和问题:
      - `Bugfix/unshift system message` by @HenryHengZJ in #5080
      - `Fixes problematic json parsing` by @PBJI in #5077
      - `Fix chatflow's type null or blank` by @chungyau97 in #5065
      - `Bugfix/Upsert API for file loader` by @HenryHengZJ in #5096
      - `Bugfix/Export all chat messages` by @HenryHengZJ in #5169
      - `Fix Oxylabs documentloader API calls` by @oxy-rostyslav in #5162
      - `Fix use case-insensitive email lookup and comparison during login` by @chungyau97 in #5145
      - `Fixed background color of file upload box in Chat configuration` by @kushalbhana in #5132
      - `Bugfix/Gsuite tool params` by @HenryHengZJ in #5189
      - `Bugfix/Array Input Variables` by @HenryHengZJ in #5196
      - `Bugfix/Securely Fetch Links` by @HenryHengZJ in #5200
      - `Bugfix/JSON5 Parsing` by @HenryHengZJ in #5201
      - `Bugfix/Human Input As First Node` by @HenryHengZJ in #5202
      - `Bugfix/add path traversal check to chatId` by @HenryHengZJ in #5208
    
    这些修复涉及到系统消息、JSON解析、类型检查、API调用、文件导出、电子邮件处理、界面显示、参数处理、变量输入、链接获取、JSON5解析、节点输入和路径遍历等多个方面。
                                            
    Release flowise@3.0.6 · FlowiseAI/Flowise · GitHub
  • 标题: RCE in Flowise · Advisory · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ### 关键漏洞信息
    
    #### 漏洞概述
    - **漏洞类型**: RCE (远程代码执行)
    - **严重性**: Critical (CVSS v3 基本分数: 10.0/10)
    - **CVE ID**: CVE-2025-50528
    - **受影响版本**: 3.0.5
    - **修复版本**: 3.0.6
    
    #### 漏洞原因
    Flowise 的 `@flowise/node` 模块允许用户输入配置设置以连接到外部 MCP(模型上下文协议)服务器。在解析用户提供的 `mcpServerConfig` 字符串时,直接将用户输入传递给 `Function()` 构造函数,导致任意 JavaScript 代码的执行。
    
    #### 漏洞流程
    1. 用户输入通过 API 端点 `/api/v1/node-load-method/customMCP` 提供。
    2. `substituteVariablesInString` 函数替换模板变量,但未进行安全过滤。
    3. `convertToValidJSONString` 函数使用 `Function('return ' + inputString)()` 执行输入,如果包含恶意代码,则在全局 Node.js 上下文中执行。
    
    #### 污染流
    - Taint 01: 路由注册 (`index.ts`)
    - Taint 02: 控制器 (`index.ts`)
    - Taint 03: 服务 (`index.ts`)
    - Taint 04: 自定义 MCP 节点入口点 (`CustomMCP.ts`)
    - Taint 05: 变量替换 (`CustomMCP.ts`)
    - Taint 06: 危险构造函数执行 (`CustomMCP.ts`)
    
    #### 概念验证 (PoC)
    ```bash
    curl -X POST http://localhost:3000/api/v1/node-load-method/customMCP \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer twfIfpgZG-nwLu29h7VbHriOaISZlDZjFSxzr7nd9QY" \
    -d '{"listMethod": "listActions", "inputs": {"mcpServerConfig": "{x:(function(){const cp = process.mainModule.require(\"child_process\");cp.execSync(`echo ls ->RCE.txt`)})()}}"
    ```
    
    #### 影响
    - 完整系统接管和基础设施威胁
    - 全系统妥协
    - 文件系统访问
    - 命令执行
    - 敏感数据泄露
    
    仅需一个 API Token 即可利用此漏洞,对业务连续性和客户数据构成极端安全风险。
                                            
    RCE in Flowise · Advisory · FlowiseAI/Flowise · GitHub
  • 标题: Flowise/packages/server/src/services/nodes/index.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键漏洞信息
    
    1. **错误处理不充分**
       - 在多个函数中,如 `getAllNodes`、`getNodesForCategory` 和 `getNodeByName`,错误处理仅记录错误但未提供详细的错误信息或上下文。这可能导致在出现问题时难以调试和修复。
    
    2. **缺少输入验证**
       - 函数如 `getComponentNodeIcon` 和 `getQlikNodeIdFromName` 没有对输入参数进行充分的验证,可能会导致注入攻击或其他安全问题。
    
    3. **硬编码错误消息**
       - 错误消息如 "Node $ {nodeName} not found" 和 "Node $ {nodeId} not found" 是硬编码的,缺乏灵活性和国际化支持。
    
    4. **潜在的异步问题**
       - 在 `getQlikNodeIdFromName` 和 `getQlikNodeAsyncOptions` 中使用了异步操作,但没有明确的错误处理机制,可能会导致未捕获的异常。
    
    5. **依赖外部服务**
       - 多个函数依赖于外部服务(如 `qlikService`),如果这些服务不可用或响应异常,可能会导致整个系统崩溃。
                                            
    Flowise/packages/server/src/services/nodes/index.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub
  • 标题: Flowise/packages/server/src/controllers/nodes/index.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            从这个网页截图中,可以获取到以下关于漏洞的关键信息:
    
    - **代码文件路径**:`Flowise/packages/server/src/controllers/nodes/index.ts`
    - **提交信息**:由用户 `HenryHengZJ` 提交,提交信息为 `Bugfix/update workspaceId to vars (#4891)`,提交时间为 2 个月前。
    - **关键函数和错误处理**:
      - `getNodesByCategory` 函数在第 30 行开始,如果请求参数 `name` 未定义或为空字符串,则抛出 `InternalFlowiseError` 错误,状态码为 `PRECONDITION_FAILED`。
      - `getSingleNodeAsyncOptions` 函数在第 57 行开始,如果请求体 `req.body` 不存在,则抛出 `InternalFlowiseError` 错误,状态码为 `PRECONDITION_FAILED`。同样,如果请求参数 `name` 未定义,则也抛出相同错误。
    - **潜在漏洞点**:
      - 如果攻击者能够控制请求参数 `name` 或请求体 `req.body`,可能会触发这些错误处理逻辑,导致服务中断或暴露内部错误信息。
      - 错误处理中使用了 `InternalFlowiseError` 类,这可能是一个自定义的错误类,用于统一处理内部错误。如果该类的实现不当,可能会泄露敏感信息。
    
    总结:
    ```markdown
    ### 关键信息
    - **文件路径**: Flowise/packages/server/src/controllers/nodes/index.ts
    - **提交信息**: 
      - 提交者: HenryHengZJ
      - 提交描述: Bugfix/update workspaceId to vars (#4891)
      - 提交时间: 2 个月前
    
    ### 潜在漏洞点
    - **函数**: getNodesByCategory, getSingleNodeAsyncOptions
    - **错误处理**:
      - 如果请求参数 `name` 未定义或为空字符串,抛出 `InternalFlowiseError` 错误,状态码为 `PRECONDITION_FAILED`。
      - 如果请求体 `req.body` 不存在,同样抛出 `InternalFlowiseError` 错误,状态码为 `PRECONDITION_FAILED`。
    - **风险**: 攻击者可能通过控制请求参数或请求体触发错误处理逻辑,导致服务中断或泄露内部信息。
    ```
                                            
    Flowise/packages/server/src/controllers/nodes/index.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub
  • 标题: Flowise/packages/server/src/routes/node-load-methods/index.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            从这个网页截图中可以获取到以下关于漏洞的关键信息:
    
    - **代码路径**:`Flowise/packages/server/src/routes/node-load-methods/index.ts`
    - **相关提交**:由 `ocflowiseai` 和 `HenryHengZJ` 提交,提交信息为 "Chore/consistent services and error handlers (#2101)",提交哈希为 `d7194e8`,提交时间为去年。
    - **关键代码行**:
      ```typescript
      router.post(['/', '/:name'], nodesRouter.getSingleNodeAsyncOptions)
      ```
      这一行代码定义了一个 POST 请求路由,可能存在的问题是:
      - **路径参数注入**:`:name` 参数可能被恶意利用,导致路径注入攻击。
      - **缺少输入验证**:没有看到对 `/:name` 参数的验证或清理,可能导致安全风险。
    
    这些信息表明可能存在路径注入或输入验证不足的安全隐患。
                                            
    Flowise/packages/server/src/routes/node-load-methods/index.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub
  • 标题: Flowise/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键漏洞信息
    
    1. **XSS 漏洞**
       - 在 `CustomMCPS` 组件中,存在一个名为 `handleMessage` 的函数,该函数处理来自服务器的消息。
       - 代码中直接将接收到的消息内容插入到页面中,没有进行适当的转义或过滤,可能导致跨站脚本(XSS)攻击。
    
    2. **代码片段示例**
       ```javascript
       const handleMessage = (message) => {
         // ...
         setMessages((prevMessages) => [...prevMessages, message]);
         // ...
       };
       ```
    
    3. **潜在风险**
       - 攻击者可以通过发送恶意消息,注入恶意脚本,从而在受害者的浏览器中执行任意代码。
       - 这可能包括窃取用户数据、劫持会话、重定向到恶意网站等。
    
    4. **建议修复措施**
       - 对接收到的消息内容进行严格的输入验证和输出编码。
       - 使用安全的库或框架提供的方法来防止 XSS 攻击,例如 React 的 `dangerouslySetInnerHTML` 应谨慎使用,并确保内容是可信的。
    ```
    
    这个Markdown总结了从截图中获取的关键漏洞信息,特别是关于XSS漏洞的存在、相关代码片段、潜在风险以及建议的修复措施。
                                            
    Flowise/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub
  • 标题: Flowise/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            - **漏洞类型**: XSS (跨站脚本攻击)
    - **检测方法**: 通过检查HTTP响应头中的`Content-Type`是否包含`text/html`来判断是否存在XSS漏洞。
    - **示例代码**: 
      ```javascript
      const example = {
        url: "http://qilinsec.com/exploits",
        request: `GET / HTTP/1.1\r\nHost: qilinsec.com\r\n\r\n`,
        response: `HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n`
      };
      ```
    - **插件信息**:
      - **标签**: string
      - **描述**: string
      - **作者**: string
      - **版本**: string
      - **类别**: string
      - **自动加载**: string
      - **配置选项**: object
      - **规则**: array
    - **规则示例**:
      - **标签**: No available filters
      - **描述**: No available filters, show that you can still inject HTML and JavaScript.
      - **正则表达式**: `<script>alert\('No available filters'\)</script>`
    ```
    
    这些关键信息表明,该插件用于检测和识别网页中存在的XSS漏洞,通过分析HTTP响应头和内容来判断是否存在潜在的安全风险。
                                            
    Flowise/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub
  • 标题: Flowise/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            从这个网页截图中,可以获取到以下关于漏洞的关键信息:
    
    - **文件路径**:`flowise/packages/components/node/nodes/HTTP/CustomHTTP/CustomHTTP.tsx`
    - **代码片段**:显示了 `CustomHTTP` 节点的实现,该节点用于处理 HTTP 请求。
    - **关键函数**:`execute` 函数负责执行 HTTP 请求,并处理请求和响应。
    - **潜在漏洞**:
      - **输入验证不足**:在处理用户输入时,可能存在对输入数据的验证不足,导致可能的注入攻击或恶意请求。
      - **错误处理**:错误处理部分可能不够完善,可能导致在异常情况下暴露敏感信息或未正确处理异常情况。
      - **依赖外部库**:使用了 `axios` 库进行 HTTP 请求,需要确保该库的安全性和版本更新,以防止已知漏洞的影响。
    
    这些信息提示开发者需要仔细检查输入验证、错误处理机制以及所使用的外部库的安全性,以避免潜在的安全风险。
                                            
    Flowise/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts at 5930f1119c655bcf8d2200ae827a1f5b9fec81d0 · FlowiseAI/Flowise · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2025-59528
四、漏洞 CVE-2025-59528 的评论
匿名用户
2026-01-15 06:08:50

Zaproxy alias impedit expedita quisquam pariatur exercitationem. Nemo rerum eveniet dolores rem quia dignissimos.


发表评论