GHSA-c9gw-hvqq-f33r

Suggest an improvement
Source
https://github.com/advisories/GHSA-c9gw-hvqq-f33r
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-c9gw-hvqq-f33r/GHSA-c9gw-hvqq-f33r.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-c9gw-hvqq-f33r
Aliases
Published
2026-04-16T21:18:17Z
Modified
2026-04-16T21:41:26Z
Severity
  • 9.9 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H CVSS Calculator
Summary
Flowise: Authenticated RCE Via MCP Adapters
Details

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"
    ]
}
Screenshot 2026-01-12 at 18 32 37

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.

Database specific
{
    "cwe_ids":  [
        "CWE-78"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-04-16T21:18:17Z",
    "nvd_published_at":  null,
    "severity":  "CRITICAL"
}
References

Affected packages

npm / flowise

Package

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
3.1.0

Database specific

last_known_affected_version_range
"<= 3.0.13"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-c9gw-hvqq-f33r/GHSA-c9gw-hvqq-f33r.json"

npm / flowise-components

Package

Name
flowise-components
View open source insights on deps.dev
Purl
pkg:npm/flowise-components

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
3.1.0

Database specific

last_known_affected_version_range
"<= 3.0.13"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-c9gw-hvqq-f33r/GHSA-c9gw-hvqq-f33r.json"