External risk intelligence

Flowise CSVAgent RCE via CSV Data URI Injection

CVE advisorySeverity: CRITICAL (CVSS 9.4)

CVE-2026-69264

The vulnerability exists in an API endpoint (POST /api/v1/prediction/:id) designed to process user-provided data. Flowise is frequently deployed as an internet-facing service or web application to provide AI workflows and chat interfaces, making this endpoint commonly reachable from the public internet in standard deployment patterns.

Code Injection

Halo Surface Signal: 4 out of 5 — likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This critical vulnerability impacts Flowise, a platform used for building AI workflows, by allowing a user with specific permissions to execute arbitrary operating system commands on the server. The issue arises from how the platform processes CSV data, enabling an attacker to inject malicious code that can lead to complete system compromise.

  • Malicious CSV data can run harmful commands.
  • Prevents unauthorized server control.
  • Verify if this system is exposed and needs attention.

Attack Path

How an attacker could exploit the issue

An attacker can leverage a CSV Agent node within Flowise to execute arbitrary commands. By crafting a data URI within the `csvFile` parameter, an attacker can inject malicious Python code. This code, when processed by the vulnerable Pyodide execution environment, allows the attacker to break out of the Python sandbox and interact with Node.js built-in modules, ultimately leading to remote code execution on the Flowise server.

  • Attacker crafts malicious CSV data.
  • Vulnerable API endpoint processes the data.
  • Arbitrary code execution on the server.

Live Threat

Current exploitation, exposure, and threat context

This vulnerability could allow an unauthenticated attacker to execute arbitrary operating system commands on the Flowise server when a crafted chatflow is triggered. This is possible because an attacker-controlled segment from a CSV file data URI is directly inserted into a Python code template, which is then executed. The execution environment, Pyodide, has access to JavaScript functions that can break out of the Python string, import Node.js built-in modules like `fs` and `child_process`, and perform file operations or run OS commands.

  • Arbitrary code execution on the server.
  • User-crafted CSV data triggers RCE.
  • Compromised server and data access.

Operational Fix

Recommended remediation, mitigation, and detection steps

Real-world action for this vulnerability likely falls to the Platform Engineering or Application Development teams responsible for Flowise instances, with potential coordination from Security Operations to confirm exposure and Vendor Management if Flowise is a third-party service. The first critical step is to identify all deployed Flowise instances, determine their internet reachability, assess business criticality, and locate the accountable owners before planning remediation efforts.

  • Platform or application owners should investigate.
  • Verify Flowise instance exposure and criticality.
  • Plan remediation based on asset risk.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is Flowise and what is the CSVAgent component?

Flowise is a low-code platform used to build and orchestrate AI-powered workflows and chat interfaces. The CSVAgent is a specific node within this platform that allows users to process CSV data for analysis or automated tasks. It relies on Pyodide, a tool that runs Python code in the browser or server environments, to handle the data processing steps.

How does CVE-2026-69264 lead to code execution?

This flaw involves Improper Control of Generation of Code, specifically Injection (CWE-94/CWE-95). Because the software directly inserts user-provided CSV data into a Python template without sufficient validation, an attacker can escape the intended Python sandbox. By jumping from Python into the underlying JavaScript environment, they can invoke system-level commands, allowing the server to perform unauthorized actions.

Do I need to authenticate to trigger this vulnerability?

Once a malicious CSV Agent node is configured within a chatflow by someone with workspace permissions, no further authentication is required to trigger the bug. An unauthenticated user can initiate the attack by sending a request to the prediction API endpoint. However, simply having a Flowise instance does not trigger the bug unless an attacker successfully crafts and saves the malicious CSV configuration within a workflow.

How do I know if my Flowise instance is at risk?

Halo Surface Signal indicates that Flowise deployments are frequently internet-facing to support public chat interfaces, which increases the likelihood of reachability. If your API endpoint for predictions is accessible from the internet, your instance is at higher risk. You should review your network perimeter to see if these specific API paths are exposed to external traffic.

What should I do first to address this vulnerability?

Prioritize identifying all active Flowise instances and verifying their version numbers. Since this issue is resolved in version 3.1.3, you should plan to update to that release or newer as soon as possible. Before updating, work with your application teams to confirm which instances are internet-facing and ensure you have a standard process for testing and deploying these patches.

References