CVE-2026-59950 MCP Python SDK: WebSocket server transport does not support Host/Origin validation
The MCP Python SDK WebSocket transport lacks Host/Origin validation, allowing unauthorized origins to connect to exposed applications.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-59950?
CVE-2026-59950 is a high-severity missing authorization vulnerability in modelcontextprotocol python-sdk, published on 15 Jul 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
The MCP Python SDK, called mcp on PyPI, is a Python implementation of the Model Context Protocol (MCP). Prior to 1.28.1, the deprecated mcp.server.websocket.websocket_server transport accepted WebSocket handshakes without applying Host or Origin header validation, leaving no SDK-level way to restrict which origins could connect to applications that exposed that transport. This issue is fixed in version 1.28.1.
Which versions are affected by CVE-2026-59950?
3 open source packages ship an affected version, including mcp. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
mcp PyPI | All versions | 1.28.1 |
mcp PyPI | All versions | 1.28.1 |
mcp PyPI | All versions | 1.28.1 |
Products include Lfprojects Mcp Python Sdk.
How do I fix CVE-2026-59950?
Upgrade mcp to 1.28.1 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-59950 being exploited?
There is no known exploitation of CVE-2026-59950 in the wild and no public exploit code.
Other vulnerabilities in modelcontextprotocol python-sdk
- CVE-2026-52870 MCP Python SDK: Experimental task handlers allow any client to access and cancel other clients' tasks
- CVE-2025-66416 DNS Rebinding Protection Disabled by Default in Model Context Protocol Python SDK for Servers Running on Localhost
- CVE-2026-52869 MCP Python SDK: HTTP transports serve session requests without verifying the authenticated principal
Sources
Also known as CLEANSTART-2026-FX89856, ECHO-754d-bf5b-8082, GHSA-vj7q-gjh5-988w, MINI-2q8x-779m-mhj2, MINI-45q8-xr38-hch6, MINI-4m66-qrgr-p4f8 and 17 more.