{"cve":"CVE-2026-70470","nvd":{"published":"2026-08-04T18:16:57.930","modified":"2026-10-24T15:10:00.190","status":"Analyzed","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":{"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","score":9.5},"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8},"cwes":["CWE-184"],"references":["https://github.com/FlowiseAI/Flowise/commit/f4e2794f6a576b94578f2fdafbf49c2fb304626c","https://github.com/FlowiseAI/Flowise/pull/6499","https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3","https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-52fh-8v99-63c2","https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-52fh-8v99-63c2"],"products":["flowiseai:flowise"],"source":"nvd","synced_at":"2026-10-24T16:53:34.184483516+00:00"},"epss":{"cve":"CVE-2026-70470","score":0.00972,"percentile":0.61709,"date":"2026-10-25"},"kev":null,"osv":[{"id":"GHSA-52fh-8v99-63c2","url":"https://osv.dev/vulnerability/GHSA-52fh-8v99-63c2","summary":"Flowise: Pyodide validator Unicode homoglyph bypass leads to RCE","modified":"2026-08-04T17:56:01.751716Z","packages":[{"ecosystem":"npm","name":"flowise","purl":"pkg:npm/flowise","ranges":["<3.1.3"],"fixed":["3.1.3"]},{"ecosystem":"npm","name":"flowise-components","purl":"pkg:npm/flowise-components","ranges":["<3.1.3"],"fixed":["3.1.3"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}