Vulnerability Details CVE-2026-70470
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.009
EPSS Ranking 57.4%
CVSS Severity
CVSS v3 Score 9.8
Products affected by CVE-2026-70470
-
cpe:2.3:a:flowiseai:flowise:-
-
cpe:2.3:a:flowiseai:flowise:1.0.0
-
cpe:2.3:a:flowiseai:flowise:1.0.1
-
cpe:2.3:a:flowiseai:flowise:1.1.0
-
cpe:2.3:a:flowiseai:flowise:1.1.1
-
cpe:2.3:a:flowiseai:flowise:1.2.1
-
cpe:2.3:a:flowiseai:flowise:1.2.10
-
cpe:2.3:a:flowiseai:flowise:1.2.11
-
cpe:2.3:a:flowiseai:flowise:1.2.12
-
cpe:2.3:a:flowiseai:flowise:1.2.13
-
cpe:2.3:a:flowiseai:flowise:1.2.14
-
cpe:2.3:a:flowiseai:flowise:1.2.15
-
cpe:2.3:a:flowiseai:flowise:1.2.16
-
cpe:2.3:a:flowiseai:flowise:1.2.2
-
cpe:2.3:a:flowiseai:flowise:1.2.3
-
cpe:2.3:a:flowiseai:flowise:1.2.4
-
cpe:2.3:a:flowiseai:flowise:1.2.5
-
cpe:2.3:a:flowiseai:flowise:1.2.6
-
cpe:2.3:a:flowiseai:flowise:1.2.7
-
cpe:2.3:a:flowiseai:flowise:1.2.8
-
cpe:2.3:a:flowiseai:flowise:1.2.9
-
cpe:2.3:a:flowiseai:flowise:1.3.0
-
cpe:2.3:a:flowiseai:flowise:1.3.1
-
cpe:2.3:a:flowiseai:flowise:1.3.2
-
cpe:2.3:a:flowiseai:flowise:1.3.3
-
cpe:2.3:a:flowiseai:flowise:1.3.4
-
cpe:2.3:a:flowiseai:flowise:1.3.5
-
cpe:2.3:a:flowiseai:flowise:1.3.6
-
cpe:2.3:a:flowiseai:flowise:1.3.7
-
cpe:2.3:a:flowiseai:flowise:1.3.8
-
cpe:2.3:a:flowiseai:flowise:1.3.9
-
cpe:2.3:a:flowiseai:flowise:1.4.0
-
cpe:2.3:a:flowiseai:flowise:1.4.1
-
cpe:2.3:a:flowiseai:flowise:1.4.10
-
cpe:2.3:a:flowiseai:flowise:1.4.11
-
cpe:2.3:a:flowiseai:flowise:1.4.12
-
cpe:2.3:a:flowiseai:flowise:1.4.2
-
cpe:2.3:a:flowiseai:flowise:1.4.3
-
cpe:2.3:a:flowiseai:flowise:1.4.4
-
cpe:2.3:a:flowiseai:flowise:1.4.5
-
cpe:2.3:a:flowiseai:flowise:1.4.6
-
cpe:2.3:a:flowiseai:flowise:1.4.7
-
cpe:2.3:a:flowiseai:flowise:1.4.8
-
cpe:2.3:a:flowiseai:flowise:1.4.9
-
cpe:2.3:a:flowiseai:flowise:1.5.0
-
cpe:2.3:a:flowiseai:flowise:1.5.1
-
cpe:2.3:a:flowiseai:flowise:1.6.0
-
cpe:2.3:a:flowiseai:flowise:1.6.1
-
cpe:2.3:a:flowiseai:flowise:1.6.2
-
cpe:2.3:a:flowiseai:flowise:1.6.3
-
cpe:2.3:a:flowiseai:flowise:1.6.4
-
cpe:2.3:a:flowiseai:flowise:1.6.5
-
cpe:2.3:a:flowiseai:flowise:1.6.6
-
cpe:2.3:a:flowiseai:flowise:1.7.0
-
cpe:2.3:a:flowiseai:flowise:1.7.1
-
cpe:2.3:a:flowiseai:flowise:1.7.2
-
cpe:2.3:a:flowiseai:flowise:1.8.0
-
cpe:2.3:a:flowiseai:flowise:1.8.1
-
cpe:2.3:a:flowiseai:flowise:1.8.2
-
cpe:2.3:a:flowiseai:flowise:1.8.3
-
cpe:2.3:a:flowiseai:flowise:1.8.4
-
cpe:2.3:a:flowiseai:flowise:2.0.0
-
cpe:2.3:a:flowiseai:flowise:2.0.1
-
cpe:2.3:a:flowiseai:flowise:2.0.2
-
cpe:2.3:a:flowiseai:flowise:2.0.3
-
cpe:2.3:a:flowiseai:flowise:2.0.4
-
cpe:2.3:a:flowiseai:flowise:2.0.5
-
cpe:2.3:a:flowiseai:flowise:2.0.6
-
cpe:2.3:a:flowiseai:flowise:2.0.7
-
cpe:2.3:a:flowiseai:flowise:2.1.0
-
cpe:2.3:a:flowiseai:flowise:2.1.1
-
cpe:2.3:a:flowiseai:flowise:2.1.2
-
cpe:2.3:a:flowiseai:flowise:2.1.3
-
cpe:2.3:a:flowiseai:flowise:2.1.4
-
cpe:2.3:a:flowiseai:flowise:2.1.5
-
cpe:2.3:a:flowiseai:flowise:2.2.0
-
cpe:2.3:a:flowiseai:flowise:2.2.1
-
cpe:2.3:a:flowiseai:flowise:2.2.2
-
cpe:2.3:a:flowiseai:flowise:2.2.3
-
cpe:2.3:a:flowiseai:flowise:2.2.4
-
cpe:2.3:a:flowiseai:flowise:2.2.5
-
cpe:2.3:a:flowiseai:flowise:2.2.6
-
cpe:2.3:a:flowiseai:flowise:2.2.7
-
cpe:2.3:a:flowiseai:flowise:2.2.8
-
cpe:2.3:a:flowiseai:flowise:3.0.0
-
cpe:2.3:a:flowiseai:flowise:3.0.1
-
cpe:2.3:a:flowiseai:flowise:3.0.10
-
cpe:2.3:a:flowiseai:flowise:3.0.11
-
cpe:2.3:a:flowiseai:flowise:3.0.12
-
cpe:2.3:a:flowiseai:flowise:3.0.13
-
cpe:2.3:a:flowiseai:flowise:3.0.2
-
cpe:2.3:a:flowiseai:flowise:3.0.3
-
cpe:2.3:a:flowiseai:flowise:3.0.4
-
cpe:2.3:a:flowiseai:flowise:3.0.5
-
cpe:2.3:a:flowiseai:flowise:3.0.6
-
cpe:2.3:a:flowiseai:flowise:3.0.7
-
cpe:2.3:a:flowiseai:flowise:3.0.8
-
cpe:2.3:a:flowiseai:flowise:3.0.9
-
cpe:2.3:a:flowiseai:flowise:3.1.0
-
cpe:2.3:a:flowiseai:flowise:3.1.1
-
cpe:2.3:a:flowiseai:flowise:3.1.2