EXPOSURES › CVE-2026-70470
CVE-2026-70470
CRITICALCVE-2026-70470 in Flowise allows arbitrary OS command execution via Unicode homoglyph bypass of a Python code validator.
Flowise's Python code validator was bypassed using Unicode homoglyph identifiers, enabling arbitrary Python execution and full OS command execution on the host. DIB organizations must ensure all LLM/LLM-adjacent tools are patched and monitored for homoglyph-based bypasses, as this directly violates NIST 800-171 requirements for preventing unauthorized access and malicious code execution.
Shame score — A critical RCE vulnerability was exploitable via a well-known Unicode bypass technique, indicating a failure to properly validate inputs and a lack of defense-in-depth.
▸ RECOMMENDED ACTION Remote code execution — patch the affected products on priority.
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.