{"items":[{"id":"NVI-00016160","kind":"vulnerability","title":"MCP Python SDK: HTTP transports serve session requests without verifying the authenticated principal","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-jpw9-pfvf-9f58","CVE-2026-52869"],"plain_summary":"GitHub lists this reviewed advisory for mcp. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-34432b359e88a98d5e5a795d599c05c0"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-07-16T19:58:54.000Z","value":"7.1 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-34432b359e88a98d5e5a795d599c05c0"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-34432b359e88a98d5e5a795d599c05c0","url":"https://github.com/advisories/GHSA-jpw9-pfvf-9f58","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-jpw9-pfvf-9f58","publisher":"GitHub Advisory Database","observed_at":"2026-11-04T09:59:26.779Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-34432b359e88a98d5e5a795d599c05c0"],"technology":"mcp","known_exclusions":[],"conditions_summary":"### Summary\nIn 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.\n\n### Am I affected?\nOnly if a developer's application server uses an HTTP transport (SSE, or Streamable HTTP in stateful mode) **and** authenticates requests. Servers on stdio, stateless Streamable HTTP, or with no authentication configured are not affected.\n\n### Details\nBoth transports look up the target session by its identifier alone — the `session_id` query parameter for SSE (`mcp.server.sse.SseServerTransport`) and the `Mcp-Session-Id` header for Streamable HTTP (`mcp.server.streamable_http_manager.StreamableHTTPSessionManager`). Once the lookup succeeded, the request was handled on that session without comparing its authentication context to the credentials presented when the session was created, so a request authenticated as a different OAuth client could inject messages i","public_affected_ranges":["<= 1.27.1"]}],"null_published_at":"2026-11-04T10:04:27.900Z","source_updated_at":"2026-07-16T19:58:54.000Z","source_disclosed_at":"2026-07-16T19:58:53.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-04T09:59:26.779Z"}],"next_cursor":null,"snapshot_revision":"42594"}