Skip to main content

Flowise EUVDEUVD-2026-52811

| CVE-2026-70470 CRITICAL
Incomplete List of Disallowed Inputs (CWE-184)
2026-08-04 GitHub_M GHSA-52fh-8v99-63c2
9.5
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed CSV/Airtable Agent chatflow
  2. Delivery
    Inject homoglyph Python via prompt/config
  3. Exploit
    Bypass ASCII regex validator
  4. Execution
    Python NFKC-normalizes dunders
  5. Persist
    Escape Pyodide via js __import__ bridge
  6. Impact
    execSync arbitrary OS commands on host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
Exploitation Conditions

Exploitation requires a Flowise deployment (<= 3.1.2) that has a CSV Agent or Airtable Agent node configured and reachable, and the attacker must be able to get crafted Python into that node - either by controlling the CSV Agent's customReadCSV node configuration or by manipulating the LLM (prompt injection through the flow's input) so it emits Python containing NFKC-normalizable homoglyph identifiers (e.g. __cl𝐚ss__, __subcl𝐚sses__, __b𝐚se__, __b𝐮iltins__) plus chr()-assembled dict keys for '__import__'. Limiting factors: the vulnerable code paths are the deprecated CSV/Airtable Agent nodes (not present in every deployment), successful attacks depend on reliably steering the LLM or config into the exact homoglyph payload (hence CVSS AC:H), and the host must run Flowise on Node.js where the Pyodide js bridge exposes process.mainModule.require. Whether authentication is actually needed depends on whether the chatflow endpoint is exposed unauthenticated (the vendor vector assumes PR:N).

Impact

This regression reopens the RCE paths previously patched as GHSA-3hjv-c53m-58jj (CSV Agent) and GHSA-v38x-c887-992f (Airtable Agent), and the impact is maximal: full host command execution with sandbox escape (CVSS 4.0 9.5, VC/VI/VA:H and subsequent-system SC/SI/SA:H). The vendor vector marks AC:H, PR:N, UI:N, AT:N - network-reachable and unauthenticated in principle, but the AC:H honestly reflects that an attacker must reliably get homoglyph-laden Python to the runPythonAsync call, either by controlling the CSV Agent's customReadCSV node configuration or by steering the LLM (prompt injection) into emitting the crafted code. No EPSS score and no KEV entry were provided, and no explicit POC flag is set, so I cannot claim active exploitation; however, the advisory's step-by-step bypass materially lowers the barrier and this should be treated as a real, high-priority patch item wherever CSV/Airtable Agent nodes are exposed. Note the tension to verify: PR:N assumes a publicly reachable chatflow prediction endpoint - if your Flowise instance requires authentication to invoke flows, effective privilege requirements are higher than the raw vector implies.

Exploit ScenarioDerived

An attacker sends a query to a network-exposed Flowise chatflow that uses the CSV or Airtable Agent, using prompt injection (or a poisoned customReadCSV config) to make the generated Python contain homoglyph dunders like __cl𝐚ss__ and __b𝐮iltins__. The validator's ASCII \b regex fails to match, Python NFKC-normalizes the identifiers, and __builtins__['__import__']('js') reaches the Node host bridge, invoking child_process.execSync to run commands as the Flowise process. No public exploit is identified yet, but the advisory provides a full working bypass technique.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.5% 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 Flowise before 3.1.3 arises because its Pyodide Python-code validator (validatePythonCodeForDataFrame) can be defeated with Unicode homoglyph identifiers, letting an attacker run arbitrary Python that escapes the Pyodide sandbox and executes OS commands on the Flowise host with the process's privileges. The affected CSV Agent and Airtable Agent nodes gate LLM-generated (and config-supplied) Python through an ASCII word-boundary regex blacklist, which Python's NFKC identifier normalization silently rewrites back into the forbidden dunders. There is no public exploit identified at time of analysis and it is not in CISA KEV, but the GitHub advisory documents a complete, reproducible bypass technique, so weaponization is straightforward; the vendor rates it 9.5 (CVSS 4.0).

RemediationAI

Vendor-released patch: 3.1.3 - upgrade both flowise and flowise-components to 3.1.3 or later (release: https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3; fix PR https://github.com/FlowiseAI/Flowise/pull/6499 and commit f4e2794f6a576b94578f2fdafbf49c2fb304626c). If you cannot upgrade immediately, the concrete compensating control is to remove or disable the CSV Agent and Airtable Agent nodes (both are flagged DEPRECATING and the fix effectively retires the Airtable Agent) and migrate to the AgentFlow Agent - the trade-off is loss of those specific CSV/Airtable query workflows. Additionally, place the Flowise prediction/chatflow endpoints behind authentication and network restrictions so untrusted users cannot invoke flows that reach pyodide.runPythonAsync, and run the Flowise process as a least-privileged, containerized user so a successful escape yields minimal host access - the trade-off is added operational overhead but it caps blast radius. Do not rely on the ASCII regex validator as a control, since NFKC normalization defeats it.

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

The vulnerability class is CWE-184 (Incomplete List of Disallowed Inputs): a denylist that fails to account for equivalent encodings. Flowise runs untrusted/LLM-authored Python inside Pyodide (CPython compiled to WebAssembly) embedded in the Node.js host, and gates every pyodide.runPythonAsync call in packages/components/nodes/agents/CSVAgent/CSVAgent.ts (lines 147, 198/209) and AirtableAgent/AirtableAgent.ts (lines 186/197) with a regex blacklist in packages/components/src/pythonCodeValidator.ts. Two behaviors collide: JavaScript regex \b word boundaries are computed only against the ASCII class [A-Za-z0-9_], so a character like U+1D41A (mathematical bold small a) is treated as a non-word character and \b__class__\b never matches __cl𝐚ss__; meanwhile Python 3 (PEP 3131) NFKC-normalizes identifiers at parse time, so __cl𝐚ss__, __subcl𝐚sses__, __b𝐚se__, and __b𝐮iltins__ all resolve to their ASCII dunder equivalents. Dict string keys such as bi['__import__'] aren't normalized but can be assembled with chr() to dodge literal patterns. The classic escape __builtins__['__import__']('js') yields the JS host bridge, and process.mainModule.require('child_process').execSync then runs native commands on the host. The affected CPE is cpe:2.3:a:flowiseai:flowise (npm packages flowise and flowise-components).

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.5 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 9.0 CRITICAL

Network-reachable but AC:H because a reliable homoglyph payload must be forced through the LLM/config; S:C for Pyodide-to-host escape; full C/I/A on the compromised host.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/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
High
Attack Requirements
None
Privileges Required
None
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:30 cve.org
CRITICAL 9.5

DescriptionCVE.org

Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, Flowise validatePythonCodeForDataFrame 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 js module interop. The validator gates pyodide.runPythonAsync in packages/components/nodes/agents/CSVAgent/CSVAgent.ts and packages/components/nodes/agents/AirtableAgent/AirtableAgent.ts with an ASCII word-boundary blacklist. JavaScript regex word boundaries are ASCII-only, while Python 3 NFKC-normalizes identifiers at parse time, so homoglyph forms such as __cl𝐚ss__, __subcl𝐚sses__, __b𝐚se__, and __b𝐮iltins__ bypass the blacklist and are parsed as their ASCII equivalents. This issue is fixed in version 3.1.3.

Executive ViewAI

Why It Matters

Flowise before version 3.1.3 contains a critical remote code execution vulnerability in its CSV Agent and Airtable Agent components, enabling attackers to execute arbitrary operating system commands on affected servers. Organizations running Flowise in production environments face immediate risk of complete infrastructure compromise, including unauthorized data access and lateral network movement. With no vendor patch currently available, urgent access controls and component disablement are required.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable CSV Agent and Airtable Agent nodes entirely if business operations permit; if required, restrict to authenticated internal users only via network segmentation. (2) Deploy Flowise within containerized or virtualized environments to isolate OS command execution scope. (3) Monitor and log all process execution from Flowise to detect exploitation attempts. (4) Implement network segmentation to prevent lateral movement from compromised Flowise instances to sensitive systems. (5) Apply egress filtering to restrict data exfiltration and attacker communication.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Medium
popular open-source LLM flow builder; deprecated agent nodes narrow real exposure
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

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.5%
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

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

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

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-69264 CRITICAL POC
9.4 Aug 04

Remote code execution in FlowiseAI Flowise before 3.1.3 lets an attacker execute arbitrary OS commands as the Flowise pr

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