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.
Published: 2026-08-04
Score: 9.5 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Flowise’s Python code validator can be bypassed by using Unicode homoglyphs such as __cl𝐚ss__ that normalize to ASCII identifiers, allowing an attacker to inject arbitrary Python code. The injected code is then executed through the Pyodide.js interop layer, and because Pyodide can run arbitrary OS commands, this flaw results in full remote code execution on the Flowise host. The vulnerability is a classic example of a bypass of input validation (CWE‑184).

Affected Systems

The flaw applies to FlowiseAI’s Flowise product before version 3.1.3. Any deployment that has not upgraded past this release is susceptible to exploitation.

Risk and Exploitability

Flowise assigns a CVSS score of 9.5, indicating critical severity. The EPSS score is not available and the flaw is not listed in CISA’s KEV catalog. The most likely attack vector is through the user interface or any API that accepts Python code strings; an attacker who can deliver a carefully crafted payload can bypass the validator’s ASCII‑only blacklist and achieve arbitrary code execution without needing elevated privileges beyond access to the Flowise UI.

Generated by OpenCVE AI on August 4, 2026 at 19:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Flowise to version 3.1.3 or later to apply the vendor‑supplied fix.
  • If you cannot upgrade immediately, limit or revoke the ability for users to submit Python code in Flowise components that rely on Pyodide, or sandbox such code execution in a separate environment.
  • Continuously monitor host activity for unexpected OS command execution or Python processes originating from Flowise, and enforce strict user access controls to prevent untrusted users from submitting code.

Generated by OpenCVE AI on August 4, 2026 at 19:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-52fh-8v99-63c2 Flowise: Pyodide validator Unicode homoglyph bypass leads to RCE
History

Tue, 04 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 04 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Flowiseai
Flowiseai flowise
Vendors & Products Flowiseai
Flowiseai flowise

Tue, 04 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
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.
Title Flowise: Pyodide validator Unicode homoglyph bypass leads to RCE
Weaknesses CWE-184
References
Metrics cvssV4_0

{'score': 9.5, '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'}


Subscriptions

Flowiseai Flowise
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-04T19:51:28.378Z

Reserved: 2026-08-04T15:24:41.338Z

Link: CVE-2026-70470

cve-icon Vulnrichment

Updated: 2026-08-04T18:21:36.790Z

cve-icon NVD

Status : Received

Published: 2026-08-04T18:16:57.930

Modified: 2026-08-04T20:16:53.790

Link: CVE-2026-70470

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T19:45:03Z

Weaknesses
  • CWE-184

    Incomplete List of Disallowed Inputs