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

Impact

Flowise prior to version 3.1.3 contains a flaw in the CSVAgent that allows an attacker to insert arbitrary code into a Python source template. Because the template is executed by Pyodide with a JavaScript bridge that exposes eval and dynamic import, an injected payload can escape the quoted string and run arbitrary Node modules, leading to file I/O or OS command execution. The vulnerability arises from no validation of the csvFile data URI base64 segment. An attacker controlling a workspace user with chatflows:create or agentflows/chatflows update permission can create a CSV Agent node with a malicious csvFile. When that chatflow is triggered via an unauthenticated POST /api/v1/prediction/:id request, the host process is compromised, allowing remote code execution without authentication.

Affected Systems

FlowiseAI Flowise applications running any version before 3.1.3 are affected. The issue exists in the CSVAgent component of Flowise and requires the application to run Pyodide on a Node.js environment where the default JavaScript bridge exposes eval and dynamic import.

Risk and Exploitability

The CVSS score of 9.4 indicates a critical severity. EPSS data is not available, so the exploitation likelihood cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. Attackers can exploit the flaw by creating a malicious chatflow node under a workspace user with creation or update rights, then sending an unauthenticated POST /api/v1/prediction/:id request that triggers the vulnerable code path, resulting in remote code execution on the Flowise host.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Flowise to version 3.1.3 or later, where the CSVAgent issue is fixed.
  • Restrict workspace user permissions by removing chatflows:create and agentflows/chatflows update rights for untrusted users.
  • Require authentication for the POST /api/v1/prediction/:id endpoint or otherwise block unauthenticated traffic from reaching it.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-4j8x-x6v7-w9rq Flowise: RCE via CSVAgent csvFile data URI base64 segment is interpolated into Python source without validation
History

Tue, 04 Aug 2026 19: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 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.
Title Flowise: RCE via CSVAgent csvFile data URI base64 segment is interpolated into Python source without validation
Weaknesses CWE-94
CWE-95
References
Metrics cvssV4_0

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


Subscriptions

Flowiseai Flowise
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-04T17:53:00.329Z

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

Link: CVE-2026-69264

cve-icon Vulnrichment

Updated: 2026-08-04T17:52:33.760Z

cve-icon NVD

Status : Received

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

Modified: 2026-08-04T19:16:53.850

Link: CVE-2026-69264

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T19:30:05Z

Weaknesses
  • CWE-94

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

  • CWE-95

    Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')