CVE-2026-52869: MCP Python SDK: HTTP transports serve session requests without verifying the authenticated principal
In affected versions, the SSE and Streamable HTTP server transports routed incoming requests to an existing session based only on the session identifier, without verifying that the request was authenticated as the same principal that created the session. Anyone who learned or guessed a session ID could send JSON-RPC messages on that session, regardless of which bearer token the request carried.
References
- github.com/advisories/GHSA-jpw9-pfvf-9f58
- github.com/modelcontextprotocol/python-sdk/commit/1abcca2408a6b50e10ec601181f63f9978705c00
- github.com/modelcontextprotocol/python-sdk/commit/ce267b6fc515dc4efc1dc70b6975b16ff0feef0a
- github.com/modelcontextprotocol/python-sdk/pull/2690
- github.com/modelcontextprotocol/python-sdk/pull/2719
- github.com/modelcontextprotocol/python-sdk/releases/tag/v1.27.2
- github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-jpw9-pfvf-9f58
- nvd.nist.gov/vuln/detail/CVE-2026-52869
Code Behaviors & Features
Detect and mitigate CVE-2026-52869 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →