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.
| Version | Type | Source | Base | Exp | Imp |
|---|---|---|---|---|---|
| 4.0 | Primary | cve.org | 9.4 | — | — |
| 4.0 | Secondary | GHSA | 9.4 | — | — |
| 4.0 | Secondary | ENISA EUVD | 9.4 | — | — |
| 4.0 | Secondary | NVD | 9.4 | — | — |