Skip to main content

Flowise CVE-2026-69264

| EUVDEUVD-2026-52801 CRITICAL
Code Injection (CWE-94)
2026-08-04 GitHub_M GHSA-4j8x-x6v7-w9rq
9.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain workspace flow-edit permission
  2. Delivery
    Plant CSV Agent node with crafted csvFile data URI
  3. Exploit
    Send request to POST /api/v1/prediction/:id
  4. Execution
    Break out of Python string into js.eval
  5. Persist
    Import Node child_process/fs via Pyodide bridge
  6. Impact
    Execute arbitrary OS commands as Flowise process

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two things: (1) an attacker with a workspace account holding chatflows:create or any agentflows/chatflows update permission to plant a CSV Agent node containing a crafted csvFile data URI whose base64 segment escapes the Python string literal; and (2) that chatflow being reachable via the whitelisted POST /api/v1/prediction/:id prediction endpoint, whose invocation is unauthenticated. The vulnerable feature is specifically the CSVAgent node's Pyodide bootstrap template, and the environment must be Node.js-based Flowise <= 3.1.2 where Pyodide's default js bridge exposes globalThis (eval and dynamic import). Limiting factors: an attacker needs low-level authenticated write access to flows to plant the node (not fully anonymous end-to-end), so single-operator or tightly-permissioned instances are far less exposed than multi-tenant deployments with many flow editors; there is no user-interaction requirement once the node is planted.

Impact

This is a genuine high-priority issue rather than an inflated high-CVSS score. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N with high vulnerable- and subsequent-system C/I/A, score 9.4) aligns with the described mechanics: network reachable, low attacker complexity, and full host compromise. The PR:L in the vector reflects the planting step, which requires a low-privileged workspace user with chatflows/agentflows create-or-update permission; however, the described trigger - any unauthenticated request to the whitelisted POST /api/v1/prediction/:id endpoint - means the effective barrier once a node is planted is very low, which the subsequent-system impact (SC/SI/SA:H) captures. No EPSS score, KEV listing, POC, or SSVC decision data was provided, so exploitation probability cannot be quantified from signals; there is no public exploit identified at time of analysis. The main real-world limiter is the initial-access requirement of an authenticated workspace user in a multi-tenant deployment, so risk is highest where untrusted or numerous users hold flow-editing permissions, or where a single-tenant instance's builder is exposed. Note the two signals to reconcile: CVSS PR:L (needs some privilege to plant) versus the description's emphasis that the eventual prediction call is unauthenticated - both are true because they describe different stages of the attack chain.

Exploit ScenarioDerived

A low-privileged member of a shared Flowise workspace creates or edits a chatflow, adds a CSV Agent node, and sets its csvFile to a data URI whose base64 segment is crafted to break out of the Python string and call js.eval to import Node's child_process. They (or any anonymous third party) then send a normal request to the public POST /api/v1/prediction/:id for that chatflow, and Flowise executes attacker-chosen OS commands on the host as the Flowise process. No public exploit code is identified at time of analysis, but the attack is low-complexity per the CVSS vector.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 04, 2026

Remote code execution in FlowiseAI Flowise before 3.1.3 lets an attacker execute arbitrary OS commands as the Flowise process by abusing the CSVAgent node, which interpolates an attacker-controlled base64 segment of the csvFile data URI directly into a Python template run by Pyodide. Because Pyodide's default js bridge exposes globalThis (including eval and dynamic import on Node.js), the injected code can break out of the Python string, call js.eval, import fs and child_process, and run host commands; the surrounding validators are never applied to this bootstrap template. A low-privileged workspace user plants the malicious node, after which any unauthenticated request to the public POST /api/v1/prediction/:id endpoint triggers the RCE. No public exploit is identified at time of analysis (no KEV, no POC signal in the provided data), but the fix is confirmed in version 3.1.3.

RemediationAI

Upgrade to Flowise 3.1.3, which contains the fix (Vendor-released patch: 3.1.3; see https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3, PR https://github.com/FlowiseAI/Flowise/pull/6499 and commit f4e2794f6a576b94578f2fdafbf49c2fb304626c, advisory GHSA-4j8x-x6v7-w9rq); upgrade both flowise and flowise-components together. If you cannot patch immediately, restrict who holds chatflows:create and agentflows/chatflows update permissions to fully trusted operators only, since planting the malicious node requires that privilege - the trade-off is reduced self-service flow editing for workspace users. Additionally, avoid exposing or disable the public POST /api/v1/prediction/:id endpoint for untrusted callers (e.g. place it behind authentication or network restrictions), accepting that this breaks unauthenticated/embedded prediction consumers. Where feasible, avoid using the deprecated CSV Agent node entirely and audit existing chatflows for CSV Agent nodes with unexpected csvFile contents. Note the PR also removes related deprecated Python/Pyodide agent nodes (e.g. AirtableAgent), so review flows that depend on them before upgrading.

Affected VersionsENISA

Flowise < 3.1.3

Affected Packages

npm flowise fix: 3.1.3
npm flowise-components fix: 3.1.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Flowise is a low-code/no-code visual builder for LLM orchestration flows (chatflows and agentflows) built on Node.js with the LangChain ecosystem. The affected component is the CSVAgent node in packages/components/nodes/agents/CSVAgent/CSVAgent.ts, which uses Pyodide (a WebAssembly build of CPython) to run pandas against uploaded CSV data. The vulnerability is CWE-94 (Improper Control of Generation of Code, i.e. code injection): the run() method splits the csvFile data URI on commas, pops the base64 segment, and interpolates it verbatim into a Python source string (base64_string = "${base64String}") that is then passed to pyodide.runPythonAsync. Because Pyodide is initialized with its default js bridge to globalThis and Node.js exposes eval and dynamic import() there, an attacker who breaks out of the Python string literal can pivot from the Python sandbox into the Node host via js.eval and import Node built-in modules such as fs and child_process. The existing guardrails validatePythonCodeForDataFrame and validateCustomReadCSVFunction only inspect the customReadCSV field and unrelated python code, never the interpolated base64String, so the sink is completely unguarded. Affected packages per the advisory are npm/flowise and npm/flowise-components at versions <= 3.1.2.

Know when Flowise gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 9.9 CRITICAL

Network-reachable, low-complexity code injection; PR:L reflects the workspace write access needed to plant the node, and S:C captures the Python-to-Node host escape yielding full host RCE.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Aug 04, 2026 - 18:02 EUVD
CVE Published
Aug 04, 2026 - 17:22 cve.org
CRITICAL 9.4

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

FlowiseAI Flowise versions prior to 3.1.3 contain a critical remote code execution vulnerability in the CSVAgent node that allows unauthenticated attackers to execute arbitrary operating system commands through the public prediction API endpoint. Any organization running Flowise versions before 3.1.3 with internet-exposed deployments faces immediate risk of complete system compromise.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 56% exploitable
Prevalence
Medium
popular open-source LLM flow builder, common but not universally deployed
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

68
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +47
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2025-8943 CRITICAL POC
9.8 Aug 14

Flowise versions before 3.0.1 allow unauthenticated access to the Custom MCPs feature, which is designed to execute OS c

CVE-2025-26319 CRITICAL POC
9.8 Mar 04

FlowiseAI Flowise version 2.2.6 contains an arbitrary file upload vulnerability in the /api/v1/attachments endpoint. Una

CVE-2025-61913 CRITICAL POC
9.9 Oct 08

Arbitrary file read and write in Flowise versions prior to 3.0.8 allows an authenticated attacker with access to the flo

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2025-58434 CRITICAL POC
9.8 Sep 12

Flowise is a drag & drop user interface to build a customized large language model flow. Rated critical severity (CVSS 9

CVE-2025-61687 HIGH POC
8.8 Oct 06

Authenticated users can upload arbitrary files to Flowise 3.0.7 due to missing validation, enabling persistent storage o

CVE-2026-30821 CRITICAL POC
9.8 Mar 07

Unrestricted file upload in Flowise LLM workflow builder before 3.0.13 via /api/v1/attachments endpoint allows unauthent

CVE-2026-30824 CRITICAL POC
9.8 Mar 07

Missing authentication on NVD data endpoint in Flowise before 3.0.13 allows unauthenticated access to internal vulnerabi

CVE-2025-34267 HIGH POC
8.4 Oct 14

Authenticated remote code execution in FlowiseAI Flowise (v3.0.1 up to but not including 3.0.8, and later versions when

CVE-2026-70470 CRITICAL POC
9.5 Aug 04

Remote code execution in Flowise before 3.1.3 arises because its Pyodide Python-code validator (validatePythonCodeForDat

CVE-2026-73483 CRITICAL POC
9.4 Aug 13

Remote command execution in Flowise <= 3.1.2 lets an authenticated user break out of the vm2/@flowiseai/nodevm JavaScrip

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy