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

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, @modelcontextprotocol/sdk (npm). Vendors: Anthropic, 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
    npm install @modelcontextprotocol/client@2.3.0
  • @modelcontextprotocol/sdk (npm): upgrade to 1.32.0 or later
    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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.