Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to project-scoped MCP endpoint
-
DeliveryEnumerate foreign flow/file IDs via list_resources
-
ExploitSend crafted URI to resources/read
-
ExecutionBypass missing ownership check in handle_read_resource
-
ImpactExfiltrate victim tenant's private flow artifacts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid authenticated account with access to any project-scoped MCP connection/endpoint in Langflow versions 1.6.8 through 1.9.0 (PR:L). The deployment must expose the project-scoped MCP server feature (the resources/read handler), and meaningful impact requires a multi-tenant or multi-user instance where other users' flow-backed files exist to be read cross-tenant. Limiting factors: exploitation is read-only (no file or flow modification), the attacker needs a legitimate login, and knowing or enumerating a victim's flow_id plus filename is required (eased by the over-broad list_resources/list_tools disclosure that the same patch also scopes to the caller). Single-tenant self-hosted installs face little practical exposure. |
| Impact | This is a cross-tenant information-disclosure flaw (CWE-639, insecure direct object reference) confirmed by the vendor GitHub Security Advisory GHSA-4hmc-cfm3-w43c and the source-code patch. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the provided score of 7.1 agree with the description: exploitation is network-reachable, low-complexity, requires no user interaction, but DOES require authentication (PR:L) - any user holding access to a project-scoped MCP endpoint. Impact is confidentiality-only (VC:H, VI:N, VA:N); the description explicitly states victim files and stored flows are not modified, which is consistent. Exploitation status is 'no public exploit identified at time of analysis' - there is no CISA KEV listing and no POC in the provided intelligence (the GitHub commit/PR links are the fix, not weaponized exploit code). No EPSS score was supplied, so widespread-exploitation probability cannot be quantified from the input. Net assessment: a genuine, patch-worthy authorization bug that matters most for multi-tenant / shared Langflow deployments where attacker and victim flows coexist; in a single-user self-hosted install the cross-tenant impact is largely moot. It is not a drop-everything internet-wide emergency (authentication gate, read-only impact, no active-exploitation signal), but should be prioritized for any shared/SaaS Langflow instance. Note: the input Tag 'Authentication Bypass' is imprecise - the vendor CWE-639 and description describe an AUTHORIZATION bypass (authentication succeeded; resource authorization was missing). |
| Exploit ScenarioDerived | An authenticated tenant on a shared Langflow instance connects to a project-scoped MCP endpoint, uses the list_resources/list_tools responses to discover another tenant's flow_id and filename, then issues a resources/read call with a crafted resource URI pointing at that foreign flow-backed file. handle_read_resource forwards the attacker-controlled URI to storage_service.get_file without verifying flow ownership, returning the victim's uploaded documents, prompts, and structured data. No public POC exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Cross-tenant file disclosure in Langflow 1.6.8 through 1.9.0 allows any authenticated user who can reach a project-scoped MCP connection to read another user's flow-backed artifacts - uploaded documents, structured data, prompts, and other private flow files - by supplying an arbitrary resource URI to the resources/read handler, which forwarded the caller-controlled URI to storage_service.get_file without verifying that the referenced flow belonged to the caller or the current project (CWE-639). The flaw is read-only, so victim files and stored flows are not modified, but confidentiality impact is high on multi-tenant or multi-user instances where other users' files exist to be read; no public exploit code identified at time of analysis and the issue is not confirmed as actively exploited (not in CISA KEV). The vendor fixed the issue in Langflow 1.9.1.
RemediationAI
Upgrade to Langflow 1.9.1, the vendor-released patch, which scopes MCP resource reads to the authenticated caller and current project and rejects malformed filenames. If immediate upgrade is not possible, disable or network-isolate the project-scoped MCP endpoints (the resources/read path in mcp_projects.py and mcp_utils.py) so untrusted authenticated users cannot reach them, and keep any MCP listener off public interfaces - the trade-off is that MCP-based agent workflows consuming flow resources will stop working until the upgrade. Restricting the deployment to a single trusted tenant removes the cross-tenant exposure entirely. Because the same patch also fixes the unscoped handle_list_resources/handle_list_tools enumeration that leaked flow and file identifiers, assume identifiers may already be known if only the read path is blocked. Vendor advisory: https://github.com/langflow-ai/langflow/security/advisories/GHSA-4hmc-cfm3-w43c; fix commits b8fe970493fd5fb2e1fc71dfccc79f90b76058fa and f0fd436fe9829192ee550e6cb46961a01dd37032 via PR https://github.com/langflow-ai/langflow/pull/12818.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Langflow ships a Model Context Protocol (MCP) server that exposes flows as tools and flow-backed files as resources. In affected versions, handle_list_project_resources in api/v1/mcp_projects.py passed a caller-supplied URI directly into handle_read_resource(uri=uri) with no project scope, and handle_read_resource in api/v1/mcp_utils.py parsed the last two URI path segments as a namespace (flow_id) and filename before calling storage_service.get_file(flow_id=..., file_name=...). That lookup is keyed entirely on attacker-controlled input and performed no ownership or tenancy check, the textbook CWE-639 authorization bypass through user-controlled key (IDOR). Compounding it, the global handle_list_resources and handle_list_tools enumerations were unscoped and disclosed other users' flow and file identifiers, making it easier to target a valid namespace/filename pair. The patch (commits b8fe970493fd5fb2e1fc71dfccc79f90b76058fa and f0fd436fe9829192ee550e6cb46961a01dd37032, PR #12818) threads project_id into handle_read_resource, requires an authenticated current_user context, scopes flow queries with Flow.user_id current_user.id (adding Flow.folder_id project_id for project-scoped servers), rejects filenames containing path-traversal or separators as defense-in-depth, and restricts user-level file listings to the global server so a project-scoped client can no longer enumerate unrelated files.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable MCP endpoint (AV:N), no special conditions (AC:L), requires an authenticated low-privilege account (PR:L), no interaction (UI:N); impact is read-only cross-tenant disclosure, so C:H, I:N, A:N.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Langflow is a tool for building and deploying AI-powered agents and workflows. From 1.6.8 until 1.9.1, Langflow authenticated access to the project identifier in a project-scoped MCP connection but did not authorize the resource URI supplied to resources/read. read_resource forwarded the attacker-controlled URI to handle_read_resource, which parsed a flow_id and filename and called storage_service.get_file without verifying that the flow belonged to the authenticated user or current project. A user with access to any project-scoped MCP endpoint could therefore request another user's flow-backed file, while global handle_list_resources and handle_list_tools behavior could disclose flow and file identifiers that made targeting easier. The vulnerability disclosed uploaded documents, structured data, prompts, and other private flow artifacts across tenants but did not modify victim files or stored flows. This issue is fixed in version 1.9.1.
Technical POC Analysis
CWE-639 (Authorization Bypass Through User-Controlled Key).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Langflow versions 1.6.8 through 1.9.0 can expose one user's private files - uploaded documents, prompts, and structured data - to another user on the same instance, with the issue stemming from missing tenant checks in the resources/read handler. The flaw is read-only, meaning stored content is not altered, but it breaks the confidentiality boundary that multi-tenant or multi-user deployments depend on, creating potential contractual and regulatory exposure for organizations hosting customer, partner, or departmental content. No public exploit identified at time of analysis, and leadership should treat deployments shared across teams, business units, or external customers as the priority for remediation.
Apply vendor patch (Langflow 1.9.1). If immediate upgrade is not possible, restrict network access to project-scoped MCP connections to trusted users and monitor resources/read calls for caller-supplied resource URIs that fall outside the requesting user's project.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-92796
GHSA-4hmc-cfm3-w43c
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB