CVE-2026-105699
Langflow has Authenticated Cross-Project File Disclosure via Unscoped MCP Resource Handlers
Published Oct 7, 2026 · updated Oct 15, 2026
### Summary Langflow's project-scoped MCP transport authenticates the caller for the in the connection URL, but the subsequent operation does not authorize the resource URI being requested. An authenticated user can connect to their own project-scoped MCP endpoint and supply a crafted file-download URI that points to another user's flow-backed file. The server then reads and returns the victim file without verifying ownership or project membership. This is a cross-user authorization bypass ( ) that allows arbitrary read access to files stored under other users' flow namespaces. ### Details Verified against local checkout: - Repository: - Verified on release tag: - Commit: - Earliest stable release known to contain the vulnerable code path: Relevant code path: 1. authenticates the caller and checks access only to the in the MCP transport URL. 2. The project-scoped MCP server registers and forwards the attacker-controlled URI directly to . 3. parses the last two URI path segments as and , then directly calls: No check ties the supplied back to the authenticated user or the current project. 4. The storage layer performs a raw namespace read and is not authorization-aware. The result is that authorization is enforced at MCP connection time, but not at resource-read time. Once an attacker has access to any project-scoped MCP endpoint they own, they can read another user's flow-backed file by passing a victim-controlled URI. This issue is also easier to exploit because the global MCP helpers expose cross-user discovery data: - lists files for all flows. - queries all flows and includes flow IDs in tool metadata. That global enumeration is not required for exploitation, but it makes obtaining victim identifiers much easier. ### PoC Preconditions: - Langflow is running locally with authentication enabled. - Two separate users exist on the same instance. - The victim has a flow with an uploaded file. - The attacker has access to any project they own. Verify the issue locally
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Oct 7, 2026 · GitHub Advisory Database
Detected
### Summary Langflow's project-scoped MCP transport authenticates the caller for the in the connection URL, but the subsequent operation does not authorize the resource URI being requested. An authenticated user can connect to their own project-scoped MCP endpoint and supply a crafted file-download URI that points to another user's flow-backed file. The server then reads and returns the victim fil
Oct 15, 2026 · GitHub Advisory Database
Fix available
langflow fixed in 1.9.1
Oct 15, 2026 · GitHub Advisory Database
Fix available
langflow fixed in 1.9.1
Oct 15, 2026 · GitHub Advisory Database
Updated
### Summary Langflow's project-scoped MCP transport authenticates the caller for the in the connection URL, but the subsequent operation does not authorize the resource URI being requested. An authenticated user can connect to their own project-scoped MCP endpoint and supply a crafted file-download URI that points to another user's flow-backed file. The server then reads and returns the victim fil
Affected
- PyPI langflow1.6.8 → 1.9.1
Sources
- GitHub Advisory DatabasePackage advisoryGHSA-4hmc-cfm3-w43c
GitHub Advisory Database record mirrored by OSV.
github.com - OSV.devPackage advisoryGHSA-4hmc-cfm3-w43c
Langflow has Authenticated Cross-Project File Disclosure via Unscoped MCP Resource Handlers
osv.dev