CVE-2026-40933: Flowise: Authenticated RCE Via MCP Adapters
Summary Due to unsafe serialization of stdio commands in the MCP adapter, an authenticated attacker can add an MCP stdio server with an arbitrary command, achieving command execution.
Details The vulnerability lies in a bug in the input sanitization from the “Custom MCP” configuration in http://localhost:3000/canvas - where any user can add a new MCP, when doing so - adding a new MCP using stdio, the user can add any command, even though your code have input sanitization checks such as validateCommandInjection and validateArgsForLocalFileAccess, and a list of predefined specific safe commands - these commands, for example "npx" can be combined with code execution arguments ("-c touch /tmp/pwn") that enable direct code execution on the underlying OS.
https://github.com/FlowiseAI/Flowise/blob/d848baeb6bd9737a1e7fc912349c45fbdcc7bb38/packages/components/nodes/tools/MCP/core.ts#L223
https://github.com/FlowiseAI/Flowise/blob/d848baeb6bd9737a1e7fc912349c45fbdcc7bb38/packages/components/nodes/tools/MCP/core.ts#L177
https://github.com/FlowiseAI/Flowise/blob/d848baeb6bd9737a1e7fc912349c45fbdcc7bb38/packages/components/nodes/tools/MCP/core.ts#L269
PoC Create a new Custom MCP and add an "npx -c" command. { "command": "npx", "args": [ "-c", "touch /tmp/pwn" ] } <img width="358" height="628" alt="Screenshot 2026-01-12 at 18 32 37" src="https://github.com/user-attachments/assets/d95c1ae2-23a7-4afe-b586-722003baf50e" />
Impact This is an authenticated arbitrary command execution due to unsanitized input, even though the input is sanitized, more protections should be added in order to close ways for attackers to execute arbitrary commands.
Other sources
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.0, due to unsafe serialization of stdio commands in the MCP adapter, an authenticated attacker can add an MCP stdio server with an arbitrary command, achieving command execution. The vulnerability lies in a bug in the input sanitization from the “Custom MCP” configuration in http://localhost:3000/canvas - where any user can add a new MCP, when doing so - adding a new MCP using stdio, the user can add any command, even though your code have input sanitization checks such as validateCommandInjection and validateArgsForLocalFileAccess, and a list of predefined specific safe commands - these commands, for example "npx" can be combined with code execution arguments ("-c touch /tmp/pwn") that enable direct code execution on the underlying OS. This vulnerability is fixed in 3.1.0.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-40933?
CVE-2026-40933 is classified as a high severity vulnerability due to its potential for remote command execution.
How do I fix CVE-2026-40933?
To mitigate CVE-2026-40933, upgrade the affected packages 'flowise' and 'flowise-components' to version 3.1.0 or later.
What systems are affected by CVE-2026-40933?
CVE-2026-40933 affects users of the 'flowise' and 'flowise-components' packages prior to version 3.1.0.
Who can exploit CVE-2026-40933?
An authenticated attacker can exploit CVE-2026-40933 to gain unauthorized command execution capabilities.
What happens if CVE-2026-40933 is exploited?
Exploitation of CVE-2026-40933 may allow the attacker to run arbitrary commands on the affected system.