Description
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, the CSVAgent in packages/components/nodes/agents/CSVAgent/CSVAgent.ts extracted attacker-controlled CSV data with file.split(',').pop() and interpolated it directly into executable Python as base64_string = "${base64String}" before calling Pyodide. The validatePythonCodeForDataFrame() denylist only checked later LLM-generated code and did not validate this initial code block. An authenticated attacker could inject a closing quote followed by Python code, use Pyodide's js bridge to load Node.js child_process, and execute arbitrary operating system commands as root in the Flowise container. This issue is fixed in version 3.1.3.
Published: 2026-08-04
Score: 9.2 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Flowise, a drag‑and‑drop interface for building large‑language‑model workflows, contains a flaw in its CSVAgent component that allows an attacker to inject arbitrary Python code. The vulnerability arises because the agent interpolates a base64 string from user‑supplied CSV data directly into executable code without proper validation. Once the malicious code is executed within Pyodide, it can load the Node.js child_process module via Pyodide’s JavaScript bridge and run arbitrary operating system commands with root privileges inside the Flowise container. This code‑injection weakness (CWE‑94) gives the attacker full control over the affected system, enabling data exfiltration, persistence, and lateral movement.

Affected Systems

Flowise by FlowiseAI is impacted. All installations running Flowise 3.1.2 or earlier are vulnerable because they lack the patch that sanitizes the CSV input. The vulnerability resides specifically in the CSVAgent code located under packages/components/nodes/agents/CSVAgent/CSVAgent.ts. Deployments using Flowise 3.1.3 or later are considered safe after the fix.

Risk and Exploitability

The CVSS score of 9.2 denotes a critical severity. An authenticated attacker must be able to supply CSV input to the agent; no additional exploitation steps are required beyond providing manipulated data. The EPSS score is not provided, so the current likelihood of exploitation is unknown, but the absence of a KEV listing suggests the vulnerability is newly discovered and may be actively exploited. The attacker’s ability to gain a root shell inside the container makes this a high‑risk vulnerability for any exposed Flowise deployment.

Generated by OpenCVE AI on August 4, 2026 at 20:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Flowise to version 3.1.3 or later, which includes the fix that sanitizes CSV input and blocks code injection.
  • If a patch cannot be applied immediately, restrict access to the CSVAgent endpoint by enforcing authentication and authorization so that only trusted users can submit CSV data.
  • Implement network segmentation or firewall rules to limit external traffic to the Flowise container, reducing the chance that an attacker can reach the vulnerable endpoint.

Generated by OpenCVE AI on August 4, 2026 at 20:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vmv7-4m6c-3cg5 Flowise: CSV Agent Remote Code Execution via Pyodide Code Injection — Root Shell Verified
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 17:45:00 +0000

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

Tue, 04 Aug 2026 16:30: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, the CSVAgent in packages/components/nodes/agents/CSVAgent/CSVAgent.ts extracted attacker-controlled CSV data with file.split(',').pop() and interpolated it directly into executable Python as base64_string = "${base64String}" before calling Pyodide. The validatePythonCodeForDataFrame() denylist only checked later LLM-generated code and did not validate this initial code block. An authenticated attacker could inject a closing quote followed by Python code, use Pyodide's js bridge to load Node.js child_process, and execute arbitrary operating system commands as root in the Flowise container. This issue is fixed in version 3.1.3.
Title Flowise: CSV Agent Remote Code Execution via Pyodide Code Injection — Root Shell Verified
Weaknesses CWE-94
References
Metrics cvssV4_0

{'score': 9.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Flowiseai Flowise
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-04T19:52:22.140Z

Reserved: 2026-08-03T19:54:19.853Z

Link: CVE-2026-69255

cve-icon Vulnrichment

Updated: 2026-08-04T19:31:06.969Z

cve-icon NVD

Status : Received

Published: 2026-08-04T17:17:00.570

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

Link: CVE-2026-69255

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T20:15:12Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')