CyberRota Analysis
AI-GeneratedFlowise versions prior to 3.1.3 are vulnerable to an authenticated attack that allows exploitation of the executeJavaScriptCode() function, enabling attackers to bypass NodeVM security settings and execute arbitrary system commands with root privileges on the server. This vulnerability poses a significant risk to the integrity and security of systems running Flowise, particularly those handling sensitive data. Organizations using affected versions should prioritize upgrading to version 3.1.3 or later to mitigate potential exploitation.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, executeJavaScriptCode() accepted caller-provided nodeVMOptions and merged them over the default NodeVM security settings in packages/components/src/utils.ts. An authenticated attacker reaching packages/server/src/routes/node-custom-functions/index.ts could run a custom function that imported flowise-components/dist/src/utils.js, called executeJavaScriptCode() again with nodeVMOptions.require.builtin set to allow all built-in modules, and then required child_process to execute arbitrary system commands as root on the Flowise server. This issue is fixed in version 3.1.3.