CVE-2026-116685
### Summary In affected versions, the SDK's Streamable HTTP and SSE client transports followed HTTP redirects to any host. If the configured MCP endpoint answered with a redirect to a different origin: - custom headers set on the client (for example an `X-API-Key` credential) were sent to that origin, and - on a `307` or `308` redirect the request body was re-sent there too. The SDK's OAuth client providers followed redirects on their own discovery, registration and token requests in the same way. A lone `Authorization` bearer header was not exposed; the HTTP library already drops it on cross-origin redirects. Anyone able to make an endpoint you trust redirect elsewhere (a stale redirect to a lapsed domain, a misrouted proxy rule, redirect logic an attacker can influence) could capture that material. A server that is itself malicious gains nothing this way; it already receives your requests directly. ### Am I affected? Yes, if your code uses the SDK as an MCP client over HTTP through any of: - `streamable_http_client` (on 2.x also `Client` given an `http://` or `https://` URL) - `streamablehttp_client` or `sse_client` - `ClientSessionGroup` with HTTP server parameters - the internal `create_mcp_http_client` helper This includes an HTTP client you passed in yourself with `follow_redirects=True`. Affected versions: 1.8.0 through 1.29.1, and 2.0.0 through 2.1.1. Not affected: - MCP servers - stdio clients - a client you supplied with `follow_redirects` left at its default of `False` ### Fix Upgrade to `mcp` 1.30.0 (1.x) or 2.2.0 (2.x) or later; no code changes are needed. The transports, and the OAuth providers' own requests, now follow a redirect only when it stays on the endpoint's origin (same scheme, host and port, or an `http` to `https` upgrade on the same host) and keeps the request method. Any other redirect is not followed and the request fails with an error naming the target (`MCPError` on 2.x, `httpx.HTTPStatusError` on 1.x), whichever HTTP clien
Properties
- Summary
- Model Context Protocol Python SDK: HTTP client transports followed cross-origin redirects carrying custom headers and bodies
- Severity
- medium
- Nvd fetched at
- 2026-10-27T23:33:07.137019+00:00
- Cvss score
- 5.9
- Cvss severity
- MEDIUM
- Retrieved at
- 2026-10-27T23:34:58+00:00
- Ghsa published
- 2026-10-27T21:05:34Z
- Source url
- https://github.com/advisories/GHSA-5h93-6whr-6q8j
- Ghsa updated
- 2026-10-27T21:05:36Z
- Ghsa id
- GHSA-5h93-6whr-6q8j
- Last source
- GitHub Advisory Database
- Score
- 5.9
- Cvss version
- 3.1
- Cve id
- CVE-2026-116685
- Cvss vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- First seen by Signal
- 2026-10-27T23:33:57+00:00
- Is ghsa only
- false
- Vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- Published at
- 2026-10-27T20:17:13.493
- Last modified
- 2026-10-27T20:17:13.493
Related Entities (3)
AFFECTS (1)
HAS_WEAKNESS (1)
VULNERABLE_TO (1)
Explore deeper with Ninja Signal's threat intelligence graph