CVE-2026-70470 PUBLISHED

Flowise: Pyodide validator Unicode homoglyph bypass leads to RCE

Assigner: GitHub_M
Reserved: 04.08.2026 Published: 04.08.2026 Updated: 04.08.2026

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.

Metrics

CVSS Vector: 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
CVSS Score: 9.5

Product Status

Vendor FlowiseAI
Product Flowise
Versions
  • Version < 3.1.3 is affected

References

Problem Types

  • CWE-184: Incomplete List of Disallowed Inputs CWE