CVE-2025-71333: Flowise: unauth file upload + path traversal enables RCE

CRITICAL CISA: ATTEND
Published June 25, 2026
CISO Take

Flowise, a widely used low-code framework for building LLM agents and RAG pipelines, ships an /api/v1/attachments endpoint that accepts unauthenticated file uploads when storageType is set to local, and the chatId/chatflowId parameters can be manipulated with path traversal sequences to write files outside the intended attachments directory — a textbook CWE-73 flaw that can be escalated to remote code execution. Any CISO running Flowise for internal or customer-facing AI agents should treat this as a critical exposure: no authentication is required, the flaw sits on a public-facing API, and Flowise's track record (115 other CVEs in this package) suggests the codebase has broader hardening gaps. The mitigating factor is that exploitation isn't yet observed in the wild — it's not in CISA KEV, there's no public exploit or Nuclei template, EPSS sits at 0.6% (top 55th percentile), and CISA's own SSVC decision is ATTEND rather than immediate action — so this is a real but not yet weaponized threat. Patch to the fixed Flowise release beyond 2.2.4 immediately, and in the interim take any local-storage Flowise instance off the public internet or place it behind authentication at the proxy layer while monitoring the attachments directory and web root for unexpected file writes.

Sources: NVD GitHub Advisory EPSS ATLAS

What is the risk?

Technically, this is a low-complexity, unauthenticated, remotely exploitable vulnerability (CWE-73 path traversal on file upload) with a plausible path to remote code execution — the exploitability profile is severe. However, real-world exploitation signal is currently low: EPSS is 0.6% (top 55th percentile, not top-tier), there is no CISA KEV listing, no public PoC, and no Nuclei template, and CISA's SSVC verdict is ATTEND (track, don't scramble). The net risk should be scored high for any organization with an internet-facing Flowise deployment using local storage, and moderate for the broader ecosystem given the lack of active exploitation. Flowise's history of 115 prior CVEs in the same package also signals systemic security debt that should factor into any vendor risk decision, independent of this specific CVE.

How does the attack unfold?

Initial Access
Adversary locates an internet-exposed Flowise instance with storageType=local and sends an unauthenticated request to /api/v1/attachments.
AML.T0049
Path Traversal Exploitation
Crafted chatId/chatflowId parameters containing traversal sequences allow the uploaded file to be written outside the intended attachments directory.
Capability Staging
The attacker plants a web shell or script in a web-accessible or executable location on the host.
AML.T0079
Impact
The attacker achieves remote code execution, compromising the server and any credentials or secrets used by the AI agent framework.

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Flowise npm No patch

Do you use Flowise? You're affected.

How severe is it?

CVSS 3.1
N/A
EPSS
0.8%
chance of exploitation in 30 days
Higher than 53% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
CISA SSVC: Public PoC
Composite signal derived from CISA KEV, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What should I do?

1 step
  1. Upgrade Flowise beyond version 2.2.4 as soon as a patched release is available and verified against the vendor advisory (GHSA-h42x-xx2q-6v6g). Until patched, do not expose the /api/v1/attachments endpoint directly to the internet — place Flowise behind an authenticating reverse proxy or VPN, and disable or avoid storageType=local in favor of authenticated cloud storage backends where feasible. Add input validation/WAF rules to reject path traversal sequences (../, encoded variants) in chatId and chatflowId parameters at the edge. For detection, monitor the Flowise attachments directory and any web-accessible or executable paths for unexpected file writes, unusual filenames, or newly created scripts, and audit outbound connections from the Flowise host for signs of a webshell or reverse shell established post-upload.

What does CISA's SSVC say?

Decision Attend
Exploitation poc
Automatable Yes
Technical Impact total

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:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.4 - AI system security
NIST AI RMF
MANAGE 4.1 - Risk monitoring and incident response for deployed AI systems

Frequently Asked Questions

What is CVE-2025-71333?

Flowise, a widely used low-code framework for building LLM agents and RAG pipelines, ships an /api/v1/attachments endpoint that accepts unauthenticated file uploads when storageType is set to local, and the chatId/chatflowId parameters can be manipulated with path traversal sequences to write files outside the intended attachments directory — a textbook CWE-73 flaw that can be escalated to remote code execution. Any CISO running Flowise for internal or customer-facing AI agents should treat this as a critical exposure: no authentication is required, the flaw sits on a public-facing API, and Flowise's track record (115 other CVEs in this package) suggests the codebase has broader hardening gaps. The mitigating factor is that exploitation isn't yet observed in the wild — it's not in CISA KEV, there's no public exploit or Nuclei template, EPSS sits at 0.6% (top 55th percentile), and CISA's own SSVC decision is ATTEND rather than immediate action — so this is a real but not yet weaponized threat. Patch to the fixed Flowise release beyond 2.2.4 immediately, and in the interim take any local-storage Flowise instance off the public internet or place it behind authentication at the proxy layer while monitoring the attachments directory and web root for unexpected file writes.

Is CVE-2025-71333 actively exploited?

No confirmed active exploitation of CVE-2025-71333 has been reported, but organizations should still patch proactively.

How to fix CVE-2025-71333?

Upgrade Flowise beyond version 2.2.4 as soon as a patched release is available and verified against the vendor advisory (GHSA-h42x-xx2q-6v6g). Until patched, do not expose the /api/v1/attachments endpoint directly to the internet — place Flowise behind an authenticating reverse proxy or VPN, and disable or avoid storageType=local in favor of authenticated cloud storage backends where feasible. Add input validation/WAF rules to reject path traversal sequences (../, encoded variants) in chatId and chatflowId parameters at the edge. For detection, monitor the Flowise attachments directory and any web-accessible or executable paths for unexpected file writes, unusual filenames, or newly created scripts, and audit outbound connections from the Flowise host for signs of a webshell or reverse shell established post-upload.

What systems are affected by CVE-2025-71333?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, RAG pipelines, low-code AI workflow builders.

What is the CVSS score for CVE-2025-71333?

No CVSS score has been assigned yet.

What is the AI security impact?

Affected AI Architectures

agent frameworksRAG pipelineslow-code AI workflow builders

MITRE ATLAS Techniques

AML.T0049 Exploit Public-Facing Application
AML.T0079 Stage Capabilities

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.6.2.4
NIST AI RMF: MANAGE 4.1

What are the technical details?

Original Advisory

Flowise through 2.2.4 contains an unauthenticated arbitrary file upload vulnerability in the /api/v1/attachments endpoint when storageType is set to local. Attackers can exploit path traversal in the chatId and chatflowId parameters to upload malicious files to arbitrary directories, potentially enabling remote code execution and server compromise.

Exploitation Scenario

An adversary scans the internet for exposed Flowise instances (a common target given its popularity as a low-code AI agent builder) and identifies one running with storageType=local. Without any authentication, the attacker sends a crafted multipart upload request to /api/v1/attachments, embedding path traversal sequences in the chatId and/or chatflowId parameters to escape the intended attachments folder. The attacker uses this to drop a web shell or executable script into a web-accessible or cron-executed directory on the host, then triggers or waits for execution to gain remote code execution on the server. From there, the attacker pivots to harvest LLM API keys, vector database credentials, and other secrets configured in the agent's environment, and can use the compromised host as a foothold into the broader network.

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.

Timeline

Published
June 25, 2026
Last Modified
June 27, 2026
First Seen
June 26, 2026

Related Vulnerabilities