Horizon Alert
Summary of the vulnerability and why it matters
This advisory details a critical vulnerability in Flowise, a tool used for building large language model applications. The flaw, present in versions prior to 3.1.3, allows an authenticated user to execute arbitrary Python code by manipulating a CSV agent, potentially leading to unauthorized system access. The main concern is confirming relevance and exposure within our environment.
- Code execution flaw in user-created flows.
- Potentially impacts data integrity and system control.
- Assess impact and confirm if Flowise is in use.
Attack Path
How an attacker could exploit the issue
An attacker with authenticated access can insert a malicious payload into a CSV Agent's additional parameters. This payload is designed to exploit a flaw in how Python code is executed, bypassing security checks. When the chatflow is saved and triggered, this allows the attacker to run commands on the server.
- Authenticated user can modify chatflows.
- User-supplied Python code is evaluated.
- Server-side command execution.
Live Threat
Current exploitation, exposure, and threat context
This vulnerability could allow an authenticated user to execute arbitrary Python code on the server when a specially crafted CSV file is processed. This occurs because the CSVAgent node's `pandas.read_pickle()` function can deserialize a malicious payload that bypasses the denylist, enabling command execution.
- Arbitrary code execution on the server.
- Malicious payload via CSV Agent's parameters.
- Server compromise and data exfiltration.
Operational Fix
Recommended remediation, mitigation, and detection steps
The team responsible for addressing this vulnerability will likely be the application owners or platform engineers who manage the Flowise deployment. The first practical step is to identify all instances of Flowise within the environment, confirm their reachability and business criticality, and then assign an owner for remediation planning.
- Application owners should lead the effort.
- Verify Flowise instances and their exposure.
- Plan and coordinate necessary updates.