Flowise
CVE-2025-61687
HIGH
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable upload needs only a low-privilege account (PR:L) and no validation bypass (AC:L); I retain C/I/A:H because a stored web shell, once triggered, yields full host compromise.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionNVD
Flowise is a drag & drop user interface to build a customized large language model flow. A file upload vulnerability in version 3.0.7 of FlowiseAI allows authenticated users to upload arbitrary files without proper validation. This enables attackers to persistently store malicious Node.js web shells on the server, potentially leading to Remote Code Execution (RCE). The system fails to validate file extensions, MIME types, or file content during uploads. As a result, malicious scripts such as Node.js-based web shells can be uploaded and stored persistently on the server. These shells expose HTTP endpoints capable of executing arbitrary commands if triggered. The uploaded shell does not automatically execute, but its presence allows future exploitation via administrator error or chained vulnerabilities. This presents a high-severity threat to system integrity and confidentiality. As of time of publication, no known patched versions are available.
AnalysisAI
Authenticated users can upload arbitrary files to Flowise 3.0.7 due to missing validation, enabling persistent storage of Node.js web shells that can lead to remote code execution if triggered. The vulnerability requires low-privilege authentication (PR:L) and has a CVSS score of 8.8; publicly available exploit code exists. While the uploaded shells do not auto-execute, they can be leveraged through administrator error or chained vulnerabilities, posing a high threat to system integrity and confidentiality.
Technical ContextAI
Flowise is a Node.js-based drag-and-drop interface for building LLM flows. The vulnerability resides in the attachment upload functionality, specifically in the POST route handled by Multer, which fails to validate file extensions, MIME types, or content (CWE-434). The taint flow spans route registration, controller, service layer, and file storage utilities, allowing uploads of arbitrary files such as Node.js web shells. These shells expose HTTP endpoints for command execution if triggered. The affected component is identified by CPE cpe:2.3:a:flowiseai:flowise:3.0.7. The root cause is the absence of proper file type and content checks, enabling persistent storage of malicious scripts.
RemediationAI
Upgrade to Flowise version 3.0.8, which contains the vendor-released patch. The advisory at https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-35g6-rrw3-v6xc provides further guidance. If upgrading is not immediately possible, restrict access to the attachments/file-upload feature to trusted users only, as the vulnerability requires authentication. Additionally, configure the web server to prevent execution of uploaded files in the upload directory (e.g., disable script execution for that path) and regularly scan for and remove suspicious uploaded files. Note that these workarounds may impact legitimate file upload functionality and require careful configuration.
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
Share
External POC / Exploit Code
Leaving vuln.today