Flowise: RCE via CSVAgent csvFile data URI base64 segment is interpolated into Python source without validation
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.
Summary
Prior to 3.1.3, Flowise 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 JavaScript string to js.eval, dynamically import Node built-in modules such as fs and child_process, and execute arbitrary file I/O or OS commands as the Flowise process. The two validator paths around this code, validatePythonCodeForDataFrame and validateCustomReadCSVFunction, are never applied to the bootstrap template. A workspace user with chatflows:create or agentflows/chatflows update permission can plant a CSV Agent node with a crafted csvFile; once the chatflow is exposed via POST /api/v1/prediction/:id, any unauthenticated request triggers host remote code execution. This issue is fixed in version 3.1.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| FlowiseAI | Flowise | before 3.1.3 | 3.1.3 | Patch available | CNA |
| — | flowise (npm) | before 3.1.3 | 3.1.3 | Patch available | GHSA-4j8x-x6v7-w9rq |
| — | flowise-components (npm) | before 3.1.3 | 3.1.3 | Patch available | GHSA-4j8x-x6v7-w9rq |
- Flowise VendorFlowiseAI Affected before 3.1.3 Fixed in 3.1.3 Patch available CNA
- flowise (npm) Vendor— Affected before 3.1.3 Fixed in 3.1.3 Patch available GHSA-4j8x-x6v7-w9rq
- flowise-components (npm) Vendor— Affected before 3.1.3 Fixed in 3.1.3 Patch available GHSA-4j8x-x6v7-w9rq
Remediation
- Fix · CNA Flowise (FlowiseAI) Fixed in 3.1.3
- Fix · GHSA-4j8x-x6v7-w9rq flowise (npm) Fixed in 3.1.3 Advisory →
- Fix · GHSA-4j8x-x6v7-w9rq flowise-components (npm) Fixed in 3.1.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-69264
- 2026-10-03 Alias added: GHSA-4j8x-x6v7-w9rq
References
Patch 3
More FlowiseAI Flowise vulnerabilities
- TI-2025-37059 Flowise has Remote Code Execution vulnerability CVSS 3.1CRITICAL 10.0
- TI-2025-36193 Flowise Cloud and Local Deployments have Unauthenticated Password Reset Token Disclosure that Leads to Account Takeover CVSS 3.1CRITICAL 9.8
- TI-2025-08190 Unsupervised OS command execution leads to remote code execution by unauthenticated network attackers CVSS 3.1CRITICAL 9.8
- TI-2026-51595 Flowise before 3.1.3 Sandbox Escape via Puppeteer CVSS 4.0CRITICAL 9.4
- TI-2026-49250 Flowise: CSV Agent Prompt Injection Remote Code Execution Vulnerability CVSS 4.0CRITICAL 9.5
- TI-2025-43459 Flowise through 2.2.7 - Arbitrary File Write to Remote Code Execution via document-store API CVSS 4.0CRITICAL 10.0
Sources
- CVE-2026-69264 · CVE Program
- CVE-2026-69264 · NVD
- FIRST EPSS
- GHSA-4j8x-x6v7-w9rq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences