CVE-2025-71324: Flowise: path traversal leaks database unauthenticated
HIGH PoC AVAILABLE CISA: TRACK*Flowise versions before 3.0.6 contain a path traversal flaw in two unauthenticated API endpoints where an unvalidated chatId parameter bypasses the storage-directory containment check via a fallback code path in streamStorageFile(), allowing remote attackers to read arbitrary server-side files with a single HTTP request. The most damaging default target is /root/.flowise/database.sqlite, which in standard deployments holds every stored AI service API key, user credential, system prompt, and workflow definition — complete database exfiltration with zero authentication. This CVE is not yet in CISA KEV and no public exploit has been released, but the CVSS:3.1 AV:N/AC:L/PR:N/UI:N profile means any internet-facing Flowise instance is trivially exploitable by opportunistic attackers, and the package's history of 112 CVEs signals a target that adversaries actively probe. Upgrade to Flowise 3.0.6 immediately, rotate all AI provider API keys stored in Flowise, and audit access logs for directory traversal patterns in chatId parameters on both affected endpoints.
What is the risk?
High risk in practice despite the 7.5 CVSS score underselling the operational impact. The attack requires zero skill, zero authentication, and is executable from any network — a script-kiddie can download the entire Flowise database with a single curl command. Flowise is widely deployed as a no-code AI orchestration platform, and its database almost universally stores high-value secrets: OpenAI and Anthropic API keys with billing exposure, internal system prompts encoding business logic, and connection strings for vector stores and databases. The narrow pre-exploit remediation window is the only mitigating factor; post-disclosure this will be mass-scanned within days.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Flowise | npm | — | No patch |
Do you use Flowise? You're affected.
How severe is it?
What is the attack surface?
What should I do?
6 steps-
Upgrade to Flowise 3.0.6 or later immediately — this is the only complete remediation.
-
If patching is delayed, block all external access to /api/v1/get-upload-file and /api/v1/openai-assistants-file/download at the WAF or reverse proxy layer as an emergency measure.
-
Assume compromise and rotate all AI service API keys (OpenAI, Anthropic, Mistral, etc.) stored in Flowise if the instance was internet-facing — do not wait for confirmation of exploitation.
-
Audit web server and application access logs for requests to the affected endpoints containing traversal sequences (../, %2e%2e%2f, and URL-encoded variants) in the chatId parameter, looking back at least 30 days.
-
Migrate credential storage from the Flowise database to environment variables or a dedicated secrets manager.
-
Restrict Flowise to internal networks; enforce authentication at the reverse proxy layer for any externally accessible deployment.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2025-71324?
Flowise versions before 3.0.6 contain a path traversal flaw in two unauthenticated API endpoints where an unvalidated chatId parameter bypasses the storage-directory containment check via a fallback code path in streamStorageFile(), allowing remote attackers to read arbitrary server-side files with a single HTTP request. The most damaging default target is /root/.flowise/database.sqlite, which in standard deployments holds every stored AI service API key, user credential, system prompt, and workflow definition — complete database exfiltration with zero authentication. This CVE is not yet in CISA KEV and no public exploit has been released, but the CVSS:3.1 AV:N/AC:L/PR:N/UI:N profile means any internet-facing Flowise instance is trivially exploitable by opportunistic attackers, and the package's history of 112 CVEs signals a target that adversaries actively probe. Upgrade to Flowise 3.0.6 immediately, rotate all AI provider API keys stored in Flowise, and audit access logs for directory traversal patterns in chatId parameters on both affected endpoints.
Is CVE-2025-71324 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2025-71324, increasing the risk of exploitation.
How to fix CVE-2025-71324?
1. Upgrade to Flowise 3.0.6 or later immediately — this is the only complete remediation. 2. If patching is delayed, block all external access to /api/v1/get-upload-file and /api/v1/openai-assistants-file/download at the WAF or reverse proxy layer as an emergency measure. 3. Assume compromise and rotate all AI service API keys (OpenAI, Anthropic, Mistral, etc.) stored in Flowise if the instance was internet-facing — do not wait for confirmation of exploitation. 4. Audit web server and application access logs for requests to the affected endpoints containing traversal sequences (../, %2e%2e%2f, and URL-encoded variants) in the chatId parameter, looking back at least 30 days. 5. Migrate credential storage from the Flowise database to environment variables or a dedicated secrets manager. 6. Restrict Flowise to internal networks; enforce authentication at the reverse proxy layer for any externally accessible deployment.
What systems are affected by CVE-2025-71324?
This vulnerability affects the following AI/ML architecture patterns: Agent frameworks, LLM workflow orchestration, RAG pipelines, No-code AI builders.
What is the CVSS score for CVE-2025-71324?
CVE-2025-71324 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 1.38%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0006 Active Scanning AML.T0025 Exfiltration via Cyber Means AML.T0037 Data from Local System AML.T0049 Exploit Public-Facing Application AML.T0055 Unsecured Credentials Compliance Controls Affected
What are the technical details?
Original Advisory
Flowise before 3.0.6 contains an arbitrary file read vulnerability in the chatId parameter of the /api/v1/get-upload-file and /api/v1/openai-assistants-file/download endpoints. The chatId value is not validated and is passed to streamStorageFile(), where a fallback file-lookup path constructed without the orgId is evaluated after the storage-directory containment check, allowing path traversal beyond the intended storage directory. Unauthenticated attackers can read sensitive files such as /root/.flowise/database.sqlite, exposing all database content in the default configuration.
Exploitation Scenario
An attacker scans Shodan or Censys for internet-facing Flowise instances identifiable by characteristic API response signatures. They send an unauthenticated GET request to /api/v1/get-upload-file?chatId=../../../../../../root/.flowise/database.sqlite (or a URL-encoded traversal equivalent) against the target. The chatId value is passed directly to streamStorageFile(), where the fallback file-lookup path — evaluated without orgId and after the storage containment check — fails to enforce directory boundaries, causing the server to stream back the full SQLite database. The attacker parses the database offline, extracting OpenAI and Anthropic API keys embedded in saved flow configurations, then uses these keys to exfiltrate proprietary data processed through the victim's agents, run inference at the victim's billing cost, or pivot to internal systems via database connection strings and tool credentials found in the same database.
Weaknesses (CWE)
CWE-73 — External Control of File Name or Path: The product allows user input to control or influence paths or file names that are used in filesystem operations.
- [Architecture and Design] When the set of filenames is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames, and reject all other inputs. For example, ID 1 could map to "inbox.txt" and ID 2 could map to "profile.txt". Features such as the ESAPI AccessReferenceMap provide this capability.
- [Architecture and Design, Operation] Run your code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict all access to files within a particular directory. Examples include the Unix chroot jail and AppArmor. In general, managed code may provide some protection. This may not be a feasible solution, and it only limits the impact to the operating system; the rest of your application may still be subject to compromise. Be careful to avoid CWE-243 and other weaknesses related to jails.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N References
- github.com/FlowiseAI/Flowise/security/advisories/GHSA-99pg-hqvx-r4gf vendor-advisory
- vulncheck.com/advisories/flowise-arbitrary-file-read-via-chatid-parameter third-party-advisory
Timeline
Related Vulnerabilities
CVE-2025-71338 10.0 Flowise: unauthenticated file write enables RCE
Same package: flowise CVE-2025-59528 10.0 Flowise: Unauthenticated RCE via MCP config injection
Same package: flowise CVE-2025-61913 9.9 Flowise: path traversal in file tools leads to RCE
Same package: flowise CVE-2026-40933 9.9 Flowise: RCE via MCP stdio command injection
Same package: flowise CVE-2026-46442 9.9 Flowise: sandbox escape enables authenticated RCE
Same package: flowise