CVE-2026-105699 json
Langflow: Authenticated Cross-Project File Disclosure via Unscoped MCP Resource Handlers
published 2026-10-05 34 d ago modified 2026-10-15 24 d ago also GHSA-4hmc-cfm3-w43c , PYSEC-2026-4230 , EUVD-2026-92796
- cvss
- 7.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi langflow 1.9.1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 32 d ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/langflow-ai/langflow/security/advisories/GHSA-4hmc-cfm3-w43c referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.1 | 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 |
| CNA | 4.0 | 7.1 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | langflow | >=1.6.8, <1.9.1 |
1.9.1 |
Affected products
- langflow-ai langflow
Classification
- Weakness
-
- CWE-639 Authorization Bypass Through User-Controlled Key
References
-
github.com
/langflow-ai/langflow/pull/12818
web
-
github.com
/langflow-ai/langflow/commit/b8fe970493fd5fb2e1fc71dfccc79f90b76058fa
web
-
github.com
/langflow-ai/langflow/commit/f0fd436fe9829192ee550e6cb46961a01dd37032
web
-
github.com
/langflow-ai/langflow/security/advisories/GHSA-4hmc-cfm3-w43c
exploit, web
-
github.com
/langflow-ai/langflow/releases/tag/v1.9.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-105699
advisory
-
github.com
/langflow-ai/langflow
package
-
pypi.org
/project/langflow
package
-
github.com
/advisories/GHSA-4hmc-cfm3-w43c
advisory
Sources
- CVE List CVE-2026-105699
- GitHub Advisory GHSA-4hmc-cfm3-w43c
- NVD CVE-2026-105699
- OSV PYSEC-2026-4230
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.