CVE-2026-9225: Langflow: IDOR in File component leaks user files

MEDIUM
Published September 10, 2026
CISO Take

IBM Langflow's File/Read File component fails to verify ownership of the storage path it's asked to read, so any authenticated user — even a low-privileged one — can substitute another user's or flow's identifier and pull back the contents of files that were never theirs. The bug sits in the widely-used /api/v1/run/advanced/{flow_id} execution endpoint, meaning exploitation requires nothing more than a valid low-privilege login and a crafted flow, no user interaction and low attack complexity (CVSS 6.5, AV:N/AC:L/PR:L). There's no EPSS score, no CISA KEV listing, and no public exploit or Nuclei template yet, so this isn't being mass-exploited today — but it's a textbook IDOR that's trivial to weaponize once someone looks, and any shared/multi-tenant Langflow deployment (common for internal AI-agent-builder platforms) is directly exposed to cross-tenant data leakage. Prioritize patching past 1.11.5 per the IBM advisory, and in the interim audit who has authenticated access to shared Langflow instances and whether file storage is tenant-isolated at the infrastructure layer, not just the application layer. Watch API/access logs for run/advanced requests referencing file paths or user/flow IDs that don't match the requesting account.

Sources: NVD CISA KEV ATLAS ibm.com

What is the risk?

Medium severity per CVSS (6.5) but the exploitability profile is more concerning than the score alone suggests: network-reachable, low attack complexity, no user interaction, and only low privileges required. This is a classic Insecure Direct Object Reference (CWE-639) — once an attacker knows or guesses another user's/flow's storage identifier, exploitation is deterministic and repeatable, not probabilistic. The confidentiality impact is high (full file content disclosure) with no integrity or availability impact, so the primary risk is data exposure rather than system compromise. No EPSS data, KEV listing, or public exploit exists yet, which lowers near-term mass-exploitation risk but does not reduce risk for organizations running shared/multi-tenant Langflow instances, where this is effectively a standing cross-account data leak waiting to be discovered by any authenticated user, malicious or curious.

How does the attack unfold?

Valid account access
Attacker obtains a low-privileged but legitimate authenticated account on a shared Langflow instance.
AML.T0012
Crafted tool invocation
Attacker builds or edits a flow using the File/Read File component, supplying a storage path referencing another user's or flow's identifier.
AML.T0053
Endpoint exploitation
Attacker triggers execution via the public /api/v1/run/advanced/{flow_id} endpoint, bypassing the intended ownership checks on file access.
AML.T0049
Unauthorized data disclosure
The backend reads and returns the contents of another user's uploaded files in the execution response, exposing potentially sensitive data.
AML.T0037

What systems are affected?

Package Ecosystem Vulnerable Range Patched
Langflow pip No patch
154.7K Pushed 7d ago 17% patched ~70d to patch Full package profile →

Do you use Langflow? You're affected.

How severe is it?

CVSS 3.1
6.5 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 13% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR Low
UI None
S Unchanged
C High
I None
A None

What should I do?

1 step
  1. Upgrade Langflow past the affected range (1.0.0–1.11.5) to the patched release referenced in the IBM advisory (https://www.ibm.com/support/pages/node/7286657) as soon as it's validated in a test environment. Until patched, treat any multi-user Langflow deployment as exposed: restrict flow execution/File component usage to trusted users only, or move to single-tenant-per-instance deployment as a stopgap. Review and if possible enforce storage-layer access controls (filesystem permissions, object storage bucket policies) that don't rely solely on the application's ownership checks — defense in depth here would have limited blast radius. For detection, audit logs on /api/v1/run/advanced/{flow_id} for file-path or identifier parameters that reference a different user_id/flow_id than the authenticated caller, and review historical logs for anomalous cross-user file access patterns since deployment.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact partial

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
NIST AI RMF
MANAGE 4.1 - AI risks and benefits are monitored and managed post-deployment
OWASP LLM Top 10
LLM02 - Sensitive Information Disclosure

Frequently Asked Questions

What is CVE-2026-9225?

IBM Langflow's File/Read File component fails to verify ownership of the storage path it's asked to read, so any authenticated user — even a low-privileged one — can substitute another user's or flow's identifier and pull back the contents of files that were never theirs. The bug sits in the widely-used /api/v1/run/advanced/{flow_id} execution endpoint, meaning exploitation requires nothing more than a valid low-privilege login and a crafted flow, no user interaction and low attack complexity (CVSS 6.5, AV:N/AC:L/PR:L). There's no EPSS score, no CISA KEV listing, and no public exploit or Nuclei template yet, so this isn't being mass-exploited today — but it's a textbook IDOR that's trivial to weaponize once someone looks, and any shared/multi-tenant Langflow deployment (common for internal AI-agent-builder platforms) is directly exposed to cross-tenant data leakage. Prioritize patching past 1.11.5 per the IBM advisory, and in the interim audit who has authenticated access to shared Langflow instances and whether file storage is tenant-isolated at the infrastructure layer, not just the application layer. Watch API/access logs for run/advanced requests referencing file paths or user/flow IDs that don't match the requesting account.

Is CVE-2026-9225 actively exploited?

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

How to fix CVE-2026-9225?

Upgrade Langflow past the affected range (1.0.0–1.11.5) to the patched release referenced in the IBM advisory (https://www.ibm.com/support/pages/node/7286657) as soon as it's validated in a test environment. Until patched, treat any multi-user Langflow deployment as exposed: restrict flow execution/File component usage to trusted users only, or move to single-tenant-per-instance deployment as a stopgap. Review and if possible enforce storage-layer access controls (filesystem permissions, object storage bucket policies) that don't rely solely on the application's ownership checks — defense in depth here would have limited blast radius. For detection, audit logs on /api/v1/run/advanced/{flow_id} for file-path or identifier parameters that reference a different user_id/flow_id than the authenticated caller, and review historical logs for anomalous cross-user file access patterns since deployment.

What systems are affected by CVE-2026-9225?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, RAG pipelines.

What is the CVSS score for CVE-2026-9225?

CVE-2026-9225 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.22%.

What is the AI security impact?

Affected AI Architectures

agent frameworksRAG pipelines

MITRE ATLAS Techniques

AML.T0037 Data from Local System
AML.T0049 Exploit Public-Facing Application
AML.T0053 AI Agent Tool Invocation

Compliance Controls Affected

EU AI Act: Article 15
NIST AI RMF: MANAGE 4.1
OWASP LLM Top 10: LLM02

What are the technical details?

Original Advisory

IBM Langflow OSS 1.0.0 through 1.11.5 Langflow could allow an authenticated attacker to access sensitive files belonging to other users due to improper access control in the File/Read File component. When executing flows through the /api/v1/run/advanced/{flow_id} endpoint, the application allows component inputs to reference storage paths using arbitrary user or flow identifiers without verifying ownership. An attacker with low‑privileged authenticated access can supply a crafted file path pointing to another user’s storage namespace, causing the backend to read and return the contents of files uploaded by other users. This vulnerability bypasses intended authorization checks enforced by the file management API and may result in unauthorized disclosure of sensitive user data.

Exploitation Scenario

An attacker obtains a low-privileged but valid account on a shared Langflow instance (e.g., a contractor or junior team member with legitimate but limited access). They build or modify a flow that includes a File/Read File component, then call the /api/v1/run/advanced/{flow_id} endpoint directly, supplying a crafted storage path that substitutes another user's or another flow's identifier instead of their own. Because the backend doesn't verify that the caller owns the referenced storage namespace, it reads and returns the file contents in the execution response — disclosing documents, credentials, or other sensitive data uploaded by a different user, with no alerts triggered and no trace beyond a normal-looking API call.

Weaknesses (CWE)

CWE-639 — Authorization Bypass Through User-Controlled Key: The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.

  • [Architecture and Design] For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested.
  • [Architecture and Design, Implementation] Make sure that the key that is used in the lookup of a specific user's record is not controllable externally by the user or that any tampering can be detected.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Timeline

Published
September 10, 2026
Last Modified
September 15, 2026
First Seen
September 10, 2026

Related Vulnerabilities