# CVE-2026-111769: MCP TypeScript client SDK credential leak via cross-origin redirects

Source: https://junglewise.ai/threats/cve-2026-111769-mcp-typescript-client-sdk-http-client-transports-and-oauth  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-05. Updated: 2026-10-20  
License: CC BY 4.0 with a link back

CVE-2026-111769 · Severity: medium · CVSS 6.5 · Published 2026-11-05

The MCP TypeScript SDK client library follows HTTP redirects to any origin and re-sends custom headers and request bodies including API keys and OAuth secrets. An attacker controlling an MCP server or authorization server could redirect requests to capture sensitive credentials. This affects applications using the HTTP client transports or OAuth functions in the SDK.

Technologies: [Anthropic @Modelcontextprotocol/Sdk](https://junglewise.ai/threats/technologies/anthropic-modelcontextprotocol-sdk), [@modelcontextprotocol/sdk (npm)](https://junglewise.ai/threats/technologies/modelcontextprotocol-sdk). Vendors: [Anthropic](https://junglewise.ai/threats/vendors/anthropic), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-111769 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-111769 being exploited in the wild.

**How severe is CVE-2026-111769?** Medium severity, with a CVSS score of 6.5, published 5 November 2026.

**Which products and versions are affected?** Anthropic @Modelcontextprotocol/Client 2.0.0 through 2.2.0; Anthropic @Modelcontextprotocol/Sdk all versions through 1.31.0; @modelcontextprotocol/client (npm) >= 2.0.0, < 2.3.0, SEMVER:introduced=2.0.0,fixed=2.3.0; @modelcontextprotocol/sdk (npm) < 1.32.0, SEMVER:introduced=0,fixed=1.32.0.

**Is there a fix for CVE-2026-111769?** Yes. @modelcontextprotocol/client (npm): upgrade to 2.3.0 or later; @modelcontextprotocol/sdk (npm): upgrade to 1.32.0 or later. Until then: Until upgrading, pass a fetch implementation that refuses redirects, for example by using `(url, init) => fetch(url, { ...init, redirect: 'error' })`. If redirects have already been followed to untrusted hosts, rotate all API keys and client_secret values and revoke tokens.</anigation>
<parameter name="attack_vector">["network"] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-111769 attacked?** It is in a software library.

**Am I affected by CVE-2026-111769?** Check whether you run Anthropic @Modelcontextprotocol/Client, Anthropic @Modelcontextprotocol/Sdk, @modelcontextprotocol/client (npm) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @modelcontextprotocol/client (npm): upgrade to 2.3.0 or later

  ```sh
  npm install @modelcontextprotocol/client@2.3.0
  ```

- @modelcontextprotocol/sdk (npm): upgrade to 1.32.0 or later

  ```sh
  npm install @modelcontextprotocol/sdk@1.32.0
  ```


Until upgrading, pass a fetch implementation that refuses redirects, for example by using `(url, init) => fetch(url, { ...init, redirect: 'error' })`. If redirects have already been followed to untrusted hosts, rotate all API keys and client_secret values and revoke tokens.</anigation>
<parameter name="attack_vector">["network"]

## Technical details

The HTTP client transports (StreamableHTTPClientTransport, SSEClientTransport) and OAuth client functions in the SDK follow redirects (301, 302, 303, 307, 308) to any origin without validating the target, re-sending custom request headers (including X-API-Key and mcp-session-id) and on 307/308 responses also the request body containing secrets like refresh_token and client_secret. An attacker operating a malicious MCP server or authorization server can redirect legitimate requests to an attacker-controlled host to harvest credentials. The fix restricts redirects to same-origin only.

## Affected products

- Anthropic @modelcontextprotocol/sdk all versions through 1.31.0
- Anthropic @modelcontextprotocol/client 2.0.0 through 2.2.0

## Identifiers

- CVE-2026-111769
- GHSA-6prh-2h8m-c8cw

## Timeline

- 2026-10-20: disclosed: Advisory published

## Related threats

- [MCP TypeScript SDK memory exhaustion via unbounded validation](https://junglewise.ai/threats/cve-2026-111768-mcp-typescript-sdk-one-http-request-within-the-default-size)
- [MCP TypeScript SDK bearer authentication token validation bypass](https://junglewise.ai/threats/cve-2026-111771-mcp-typescript-sdk-server-bearer-authentication-accepted-tokens)
- [MCP TypeScript SDK denial of service via unbounded request body and JSON-RPC batch](https://junglewise.ai/threats/mcp-typescript-sdk-http-server-transports-and-handlers-did-not-limit-c51dda65)
- [MCP TypeScript SDK missing authorization in experimental tasks](https://junglewise.ai/threats/cve-2026-111767-mcp-typescript-sdk-experimental-tasks-were-not-tied-to-the)
- [MCP TypeScript SDK OAuth client credential injection via untrusted server](https://junglewise.ai/threats/cve-2026-104850-mcp-typescript-sdk-oauth-client-could-send-credentials-to-an)
