Findings

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.

  1. 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

  2. Oct 15, 2026 · GitHub Advisory Database

    Fix available

    langflow fixed in 1.9.1

  3. Oct 15, 2026 · GitHub Advisory Database

    Fix available

    langflow fixed in 1.9.1

  4. 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

References