CVE-2026-70470: CWE-184: Incomplete List of Disallowed Inputs in FlowiseAI Flowise
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.
AI Analysis
Technical Summary
Flowise's validatePythonCodeForDataFrame function uses an ASCII word-boundary blacklist to restrict certain Python identifiers. However, due to the difference in Unicode normalization between JavaScript regex and Python parsing, attackers can use Unicode homoglyphs (characters visually similar to ASCII but different code points) to bypass the blacklist. This allows execution of arbitrary Python code within Pyodide and consequently full OS command execution on the Flowise host through Pyodide's JavaScript interop. The vulnerability is identified as CWE-184 (Incomplete List of Disallowed Inputs) and has a CVSS 4.0 score of 9.5 (critical). The issue is resolved in Flowise version 3.1.3.
Potential Impact
Successful exploitation allows unauthenticated attackers to execute arbitrary Python code within the Pyodide environment and escalate to full OS command execution on the Flowise host. This can lead to complete compromise of the host system running Flowise versions prior to 3.1.3.
Mitigation Recommendations
Upgrade Flowise to version 3.1.3 or later, where this vulnerability is fixed. No other mitigation or workaround is documented. Patch status is not explicitly stated but the vendor has fixed the issue in version 3.1.3.
CVE-2026-70470: CWE-184: Incomplete List of Disallowed Inputs in FlowiseAI Flowise
Description
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.
CVSS v4.0
Score 9.5critical
Affected software
FlowiseAI
Flowise
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Flowise's validatePythonCodeForDataFrame function uses an ASCII word-boundary blacklist to restrict certain Python identifiers. However, due to the difference in Unicode normalization between JavaScript regex and Python parsing, attackers can use Unicode homoglyphs (characters visually similar to ASCII but different code points) to bypass the blacklist. This allows execution of arbitrary Python code within Pyodide and consequently full OS command execution on the Flowise host through Pyodide's JavaScript interop. The vulnerability is identified as CWE-184 (Incomplete List of Disallowed Inputs) and has a CVSS 4.0 score of 9.5 (critical). The issue is resolved in Flowise version 3.1.3.
Potential Impact
Successful exploitation allows unauthenticated attackers to execute arbitrary Python code within the Pyodide environment and escalate to full OS command execution on the Flowise host. This can lead to complete compromise of the host system running Flowise versions prior to 3.1.3.
Mitigation Recommendations
Upgrade Flowise to version 3.1.3 or later, where this vulnerability is fixed. No other mitigation or workaround is documented. Patch status is not explicitly stated but the vendor has fixed the issue in version 3.1.3.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-08-04T15:24:41.338Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a722805bf8831d53935abe8
Added to database: 08/04/2026, 17:57:25 UTC
Last enriched: 08/04/2026, 18:11:48 UTC
Last updated: 09/18/2026, 22:01:37 UTC
Views: 57
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.