Skip to main content

Flowise EUVDEUVD-2026-52801

| CVE-2026-69264 CRITICAL
Code Injection (CWE-94)
2026-08-04 GitHub_M GHSA-4j8x-x6v7-w9rq
9.4
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
9.9 CRITICAL

Network-reachable, low-complexity code injection; PR:L reflects the workspace write access needed to plant the node, and S:C captures the Python-to-Node host escape yielding full host RCE.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

4
Patch available
Aug 04, 2026 - 18:02 EUVD
Source Code Evidence Fetched
Aug 04, 2026 - 18:00 vuln.today
Analysis Generated
Aug 04, 2026 - 18:00 vuln.today
CVE Published
Aug 04, 2026 - 17:22 cve.org
CRITICAL 9.4

DescriptionCVE.org

Prior to 3.1.3, Flowise CSVAgent interpolates an attacker-controlled segment of the csvFile data URI directly into a Python source-code template that is then executed by Pyodide. Because Pyodide is loaded with the default js bridge to globalThis, which on Node.js exposes eval and dynamic import, the attacker can break out of the Python string literal, hand a JavaScript string to js.eval, dynamically import Node built-in modules such as fs and child_process, and execute arbitrary file I/O or OS commands as the Flowise process. The two validator paths around this code, validatePythonCodeForDataFrame and validateCustomReadCSVFunction, are never applied to the bootstrap template. A workspace user with chatflows:create or agentflows/chatflows update permission can plant a CSV Agent node with a crafted csvFile; once the chatflow is exposed via POST /api/v1/prediction/:id, any unauthenticated request triggers host remote code execution. This issue is fixed in version 3.1.3.

AnalysisAI

Remote code execution in FlowiseAI Flowise before 3.1.3 lets an attacker execute arbitrary OS commands as the Flowise process by abusing the CSVAgent node, which interpolates an attacker-controlled base64 segment of the csvFile data URI directly into a Python template run by Pyodide. Because Pyodide's default js bridge exposes globalThis (including eval and dynamic import on Node.js), the injected code can break out of the Python string, call js.eval, import fs and child_process, and run host commands; the surrounding validators are never applied to this bootstrap template. A low-privileged workspace user plants the malicious node, after which any unauthenticated request to the public POST /api/v1/prediction/:id endpoint triggers the RCE. No public exploit is identified at time of analysis (no KEV, no POC signal in the provided data), but the fix is confirmed in version 3.1.3.

Technical ContextAI

Flowise is a low-code/no-code visual builder for LLM orchestration flows (chatflows and agentflows) built on Node.js with the LangChain ecosystem. The affected component is the CSVAgent node in packages/components/nodes/agents/CSVAgent/CSVAgent.ts, which uses Pyodide (a WebAssembly build of CPython) to run pandas against uploaded CSV data. The vulnerability is CWE-94 (Improper Control of Generation of Code, i.e. code injection): the run() method splits the csvFile data URI on commas, pops the base64 segment, and interpolates it verbatim into a Python source string (base64_string = "${base64String}") that is then passed to pyodide.runPythonAsync. Because Pyodide is initialized with its default js bridge to globalThis and Node.js exposes eval and dynamic import() there, an attacker who breaks out of the Python string literal can pivot from the Python sandbox into the Node host via js.eval and import Node built-in modules such as fs and child_process. The existing guardrails validatePythonCodeForDataFrame and validateCustomReadCSVFunction only inspect the customReadCSV field and unrelated python code, never the interpolated base64String, so the sink is completely unguarded. Affected packages per the advisory are npm/flowise and npm/flowise-components at versions <= 3.1.2.

RemediationAI

Upgrade to Flowise 3.1.3, which contains the fix (Vendor-released patch: 3.1.3; see https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3, PR https://github.com/FlowiseAI/Flowise/pull/6499 and commit f4e2794f6a576b94578f2fdafbf49c2fb304626c, advisory GHSA-4j8x-x6v7-w9rq); upgrade both flowise and flowise-components together. If you cannot patch immediately, restrict who holds chatflows:create and agentflows/chatflows update permissions to fully trusted operators only, since planting the malicious node requires that privilege - the trade-off is reduced self-service flow editing for workspace users. Additionally, avoid exposing or disable the public POST /api/v1/prediction/:id endpoint for untrusted callers (e.g. place it behind authentication or network restrictions), accepting that this breaks unauthenticated/embedded prediction consumers. Where feasible, avoid using the deprecated CSV Agent node entirely and audit existing chatflows for CSV Agent nodes with unexpected csvFile contents. Note the PR also removes related deprecated Python/Pyodide agent nodes (e.g. AirtableAgent), so review flows that depend on them before upgrading.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Share

EUVD-2026-52801 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy