{"id":"CVE-2026-52869","summary":"MCP Python SDK: HTTP transports serve session requests without verifying the authenticated principal","details":"The MCP Python SDK, called mcp on PyPI, is a Python implementation of the Model Context Protocol (MCP). Prior to 1.27.2, the SSE and stateful Streamable HTTP transports mcp.server.sse.SseServerTransport and mcp.server.streamable_http_manager.StreamableHTTPSessionManager route requests to existing sessions using only the session_id query parameter or Mcp-Session-Id header without verifying the authenticated principal that created the session, allowing a different bearer-token-authenticated client with a known session ID to inject JSON-RPC messages into that session. This issue is fixed in version 1.27.2.","aliases":["GHSA-jpw9-pfvf-9f58","PYSEC-2026-3482"],"modified":"2026-07-23T15:11:29.023312800Z","published":"2026-07-15T20:06:23.604Z","related":["CGA-rmx9-94g8-226f"],"database_specific":{"cwe_ids":["CWE-639"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52869.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.27.2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52869.json"},{"type":"ADVISORY","url":"https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-jpw9-pfvf-9f58"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-52869"},{"type":"FIX","url":"https://github.com/modelcontextprotocol/python-sdk/commit/1abcca2408a6b50e10ec601181f63f9978705c00"},{"type":"FIX","url":"https://github.com/modelcontextprotocol/python-sdk/commit/ce267b6fc515dc4efc1dc70b6975b16ff0feef0a"},{"type":"FIX","url":"https://github.com/modelcontextprotocol/python-sdk/pull/2690"},{"type":"FIX","url":"https://github.com/modelcontextprotocol/python-sdk/pull/2719"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/modelcontextprotocol/python-sdk","events":[{"introduced":"0"},{"fixed":"62137874ff26dd74d2fea80ff528a7fd9ca7a5e7"},{"fixed":"1abcca2408a6b50e10ec601181f63f9978705c00"},{"fixed":"ce267b6fc515dc4efc1dc70b6975b16ff0feef0a"}],"database_specific":{"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:lfprojects:mcp_python_sdk:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"1.27.2"}]}}],"versions":["v1.27.1","v1.27.0","v1.26.0","v1.25.0","v1.24.0","v1.23.3","v1.23.2","v1.23.1","v1.23.0","v1.22.0","v1.21.1","v1.21.0","v1.20.0","v1.19.0","v1.18.0","v1.17.0","v1.16.0","v1.15.0","1.15.0","v1.14.1","v1.14.0","v1.13.1","v1.13.0","v1.12.4","v1.12.3","v1.12.2","v1.12.1","v1.12.0","v1.11.0","v1.10.1","v1.10.0","v1.9.4","v1.9.3","v1.9.2","v1.9.1","v1.9.0","v1.8.1","v1.8.0","v1.7.0","v1.6.0","v1.5.0","v1.4.1","v1.4.0","v1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-52869.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L"}]}