Flowise: Remote Code Execution Vulnerability in CSVAgent
Description
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, the CSVAgent node allowed users to provide Python code that is executed through pyodide; although a denylist blocked dangerous Python constructs, pandas.read_pickle() could deserialize a pickled payload and achieve code execution without matching the denied words. The affected file is flowise-components/nodes/agents/CSVAgent/CSVAgent.ts, where user-supplied customReadCSVFunc is evaluated as pd.${customReadCSVFunc}. An authenticated user who can create or modify a chatflow can add a CSV Agent, place a malicious read_pickle payload in the Additional Parameters, save the chatflow, and trigger /api/v1/prediction/ to execute commands. This issue is fixed in version 3.1.3.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
flowise-componentsnpm | < 3.1.3 | 3.1.3 |
flowisenpm | < 3.1.3 | 3.1.3 |
Affected products
1Patches
Vulnerability mechanics
References
5- github.com/advisories/GHSA-x6vm-w76m-8j7gghsaADVISORY
- github.com/FlowiseAI/Flowise/commit/c79fe56a6c249850e96bce9b4859f7a0083e4507ghsax_refsource_MISCWEB
- github.com/FlowiseAI/Flowise/pull/6257ghsax_refsource_MISCWEB
- github.com/FlowiseAI/Flowise/releases/tag/[email protected]ghsax_refsource_MISCWEB
- github.com/FlowiseAI/Flowise/security/advisories/GHSA-x6vm-w76m-8j7gghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.