CVE-2026-9186: Langflow: header spoof bypasses MCP config write guard
MEDIUMIBM Langflow's localhost-only safeguard for installing MCP server configurations can be defeated by an authenticated attacker simply spoofing the X-Forwarded-For: 127.0.0.1 header, allowing arbitrary writes to developer IDE config files such as ~/.cursor/mcp.json. This matters because Langflow sits at the center of many organizations' agentic AI pipelines, and the flaw turns a low-privilege application account into a write primitive against the developer's local tooling trust boundary — a foothold that can persist well beyond the Langflow session itself. There is no CISA KEV listing, no public exploit code, and no Nuclei template for this CVE, and EPSS data is unavailable, so opportunistic mass exploitation is unlikely today, but the CVSS 3.1 score of 6.5 (integrity-only impact) understates the downstream risk given that a poisoned MCP entry can silently register an attacker-controlled tool that executes when the developer's AI agent or IDE next loads it. Any organization running Langflow OSS below 1.11.2 that also uses MCP-integrated IDEs (Cursor and similar) should treat this as a supply-chain-adjacent config-injection risk, not a routine access-control bug. Upgrade to the patched Langflow release, audit existing MCP config files for unexpected entries, and restrict which authenticated Langflow roles can trigger MCP installation.
What is the risk?
Medium severity per CVSS (6.5, integrity-only impact, no confidentiality or availability loss), but the practical risk is elevated by context: the flaw requires only low privileges (PR:L) and no user interaction, and the bypass technique (spoofing a trust-boundary header) is trivial to execute once an attacker has any authenticated foothold in a Langflow instance. Exploitability is currently unconfirmed in the wild — not in CISA KEV, no public PoC or scanner template identified, and EPSS is not scored — so this reads as a plausible-but-not-yet-weaponized issue. The real elevated risk is architectural: the write target is IDE-level MCP configuration, meaning a successful exploit plants a foothold in developer tooling that can be leveraged well past the original Langflow session, converting a contained app-layer bug into a developer-workstation compromise vector.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Langflow | pip | — | No patch |
Do you use Langflow? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 stepUpgrade IBM Langflow OSS to the fixed release beyond 1.11.2 as soon as it is available/confirmed via the IBM advisory (support.ibm.com node 7285646). Until patched, do not place Langflow behind a proxy that forwards client-supplied X-Forwarded-For headers unmodified to the application, or strip/normalize that header at the edge (e.g., Caddy/nginx should set X-Forwarded-For itself rather than trust inbound values). Restrict which authenticated Langflow accounts have permission to install or modify MCP server configurations, and treat MCP config installation as a privileged action requiring elevated roles. As a detection measure, monitor and diff ~/.cursor/mcp.json and equivalent MCP config files on developer machines connected to Langflow for unexpected new entries, and alert on Langflow API requests that set X-Forwarded-For to loopback addresses (127.0.0.1) from external clients.
What does CISA's SSVC say?
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:
Frequently Asked Questions
What is CVE-2026-9186?
IBM Langflow's localhost-only safeguard for installing MCP server configurations can be defeated by an authenticated attacker simply spoofing the X-Forwarded-For: 127.0.0.1 header, allowing arbitrary writes to developer IDE config files such as ~/.cursor/mcp.json. This matters because Langflow sits at the center of many organizations' agentic AI pipelines, and the flaw turns a low-privilege application account into a write primitive against the developer's local tooling trust boundary — a foothold that can persist well beyond the Langflow session itself. There is no CISA KEV listing, no public exploit code, and no Nuclei template for this CVE, and EPSS data is unavailable, so opportunistic mass exploitation is unlikely today, but the CVSS 3.1 score of 6.5 (integrity-only impact) understates the downstream risk given that a poisoned MCP entry can silently register an attacker-controlled tool that executes when the developer's AI agent or IDE next loads it. Any organization running Langflow OSS below 1.11.2 that also uses MCP-integrated IDEs (Cursor and similar) should treat this as a supply-chain-adjacent config-injection risk, not a routine access-control bug. Upgrade to the patched Langflow release, audit existing MCP config files for unexpected entries, and restrict which authenticated Langflow roles can trigger MCP installation.
Is CVE-2026-9186 actively exploited?
No confirmed active exploitation of CVE-2026-9186 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-9186?
Upgrade IBM Langflow OSS to the fixed release beyond 1.11.2 as soon as it is available/confirmed via the IBM advisory (support.ibm.com node 7285646). Until patched, do not place Langflow behind a proxy that forwards client-supplied X-Forwarded-For headers unmodified to the application, or strip/normalize that header at the edge (e.g., Caddy/nginx should set X-Forwarded-For itself rather than trust inbound values). Restrict which authenticated Langflow accounts have permission to install or modify MCP server configurations, and treat MCP config installation as a privileged action requiring elevated roles. As a detection measure, monitor and diff ~/.cursor/mcp.json and equivalent MCP config files on developer machines connected to Langflow for unexpected new entries, and alert on Langflow API requests that set X-Forwarded-For to loopback addresses (127.0.0.1) from external clients.
What systems are affected by CVE-2026-9186?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, MCP tool integrations, developer/IDE-connected AI tooling.
What is the CVSS score for CVE-2026-9186?
CVE-2026-9186 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.38%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012Valid AccountsAML.T0049Exploit Public-Facing ApplicationAML.T0081Modify AI Agent ConfigurationAML.T0110AI Agent Tool PoisoningCompliance Controls Affected
What are the technical details?
Original Advisory
IBM Langflow OSS 1.0.0 through 1.11.2 allows remote authenticated attackers to bypass localhost-only MCP configuration installation by spoofing X-Forwarded-For: 127.0.0.1 header, enabling arbitrary writes to IDE config files (~/.cursor/mcp.json, etc.).
Exploitation Scenario
An attacker who has obtained any low-privilege authenticated account on a shared or multi-tenant Langflow instance (e.g., via a leaked API key, weak credential, or an intentionally low-trust guest role) sends a request to the MCP configuration installation endpoint with the header X-Forwarded-For: 127.0.0.1. Langflow's access check trusts this header as proof the request originates from localhost and permits an operation normally restricted to the local operator, writing an attacker-supplied MCP server entry into the target developer's ~/.cursor/mcp.json (or equivalent IDE config path). The next time that developer opens their IDE, the AI coding agent loads the poisoned MCP configuration and connects to the attacker's MCP server as a trusted tool, giving the attacker a channel to feed malicious tool responses, exfiltrate data the agent has access to, or trigger further code execution on the developer's workstation.
Weaknesses (CWE)
CWE-284 — Improper Access Control: The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
- [Architecture and Design, Operation] Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
- [Architecture and Design] Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:NReferences
Timeline
Related Vulnerabilities
CVE-2026-1056110.0Langflow: auth bypass + unauthenticated RCE (CVSS 10)
Same package: langflowCVE-2026-1013410.0Langflow: unauthenticated RCE via tool_code injection
Same package: langflowCVE-2026-333099.9langflow: Path Traversal enables file access
Same package: langflowCVE-2026-552559.9Langflow: IDOR allows cross-user flow execution
Same package: langflowCVE-2026-78739.9Langflow: authenticated RCE enables credential theft
Same package: langflow