CVE-2025-59528
PoC largeCritical Unauthenticated RCE in Flowise AI Agent Builder
Flowise, an open-source drag-and-drop interface for building LLM agent flows, contains a critical remote code execution flaw (CWE-94, code injection) in its CustomMCP node. The node parses the user-supplied mcpServerConfig string, and the convertToValidJSONString helper passes this input directly to the JavaScript Function() constructor without any validation, causing it to be evaluated and executed as live code. Because the evaluation runs with full Node.js runtime privileges, an attacker can invoke dangerous modules such as child_process and fs to execute arbitrary commands on the host. Any Flowise deployment running version 3.0.5 or earlier is affected, and the CVSS vector (network attack vector, no privileges or user interaction required, scope change) indicates unauthenticated remote attackers can trigger it. Exploitation is active in the wild according to news reports citing roughly 12,000 exposed instances, and EPSS assigns an 87.4% probability of exploitation within 30 days.
What to do: Upgrade Flowise to version 3.0.6 or later immediately. Given confirmed in-the-wild exploitation, review internet-exposed instances for signs of compromise (unexpected processes, spawned shells, or modified files) and restrict access to CustomMCP-configured instances behind authentication or a VPN until patched. The flaw is not yet listed in CISA KEV, but defenders should treat patching as urgent given the CVSS 10.0 rating and 87.4% EPSS score.
| flowiseai flowise | through 3.0.5 (fixed in 3.0.6) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Vendors
- flowiseai
- Products
- flowise
- Weakness
- CWE-94
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H