CVE-2026-69254
CriticalCVSS 9.4Summary
Flowise before version 3.1.3 has a vulnerability in executeJavaScriptCode() that accepts caller-provided nodeVMOptions and merges them over the default NodeVM security settings. An authenticated attacker can run a custom function that imports utils.js, calls executeJavaScriptCode() with options allowing all built-in modules, and then uses child_process to execute arbitrary system commands as root on the Flowise server.
Risk Assessment
An authenticated attacker can execute arbitrary commands on the Flowise server, potentially leading to full system and data compromise.
Recommendation
Update Flowise to version 3.1.3 or later, which includes a fix for this vulnerability.
Original NVD description (English source)
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.

