CVE-2026-111769 json
Model Context Protocol TypeScript SDK: HTTP client transports and OAuth requests followed cross-origin redirects and re-sent custom headers and request bodies
published 20d ago modified 7h ago also EUVD-2026-117802 , GHSA-6prh-2h8m-c8cw
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 35%
- public exploits
- 0
- none known
Summary
The Model Context Protocol TypeScript SDK provides TypeScript client and server implementations of the Model Context Protocol. Prior to 1.32.0 in @modelcontextprotocol/sdk and from 2.0.0 until 2.3.0 in @modelcontextprotocol/client, the HTTP client transports and OAuth client requests followed redirects to a different origin while retaining custom request headers and, for HTTP 307 or 308 responses, request bodies. The affected surfaces are StreamableHTTPClientTransport, SSEClientTransport, and OAuth client functions such as auth(). The trigger is an HTTP redirect to another origin. Custom headers and mcp-session-id can be re-sent to the redirected origin. HTTP 307 and 308 redirects can also re-send the request body. OAuth request bodies can contain refresh_token and client_secret values. Current runtimes already strip the Authorization header across origins. stdio clients do not use the affected HTTP path. A malicious or compromised MCP or authorization server could therefore receive API keys, session identifiers, OAuth refresh tokens, or OAuth client secrets. Restoring unrestricted redirect following after upgrading restores the exposure. This issue is fixed in @modelcontextprotocol/sdk 1.32.0 and @modelcontextprotocol/client 2.3.0.
Patch / fix
- npm @modelcontextprotocol/sdk 1.32.0
- npm @modelcontextprotocol/client 2.3.0
- github.com/modelcontextprotocol/typescript-sdk@30bfe51 commit
- github.com/modelcontextprotocol/typescript-sdk@433eb41 commit
- github.com/modelcontextprotocol/typescript-sdk#2901 pull request
- github.com/modelcontextprotocol/typescript-sdk#2902 pull request
- github.com/modelcontextprotocol/typescript-sdk/releases/tag/1.32.0 release
- github.com/modelcontextprotocol/typescript-sdk/releases/tag/@modelcon… release
Is CVE-2026-111769 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-111769 updated cvss 6.5
@modelcontextprotocol/sdk: @modelcontextprotocol/client: Model Context Protocol TypeScript SDK: Sensitive information disclosure via cross-origin redirects
-
Red Hat Hardened Images grafana13.1 13.1.8-0.6.hum1, grafana13.2 13.2.4-0.6.hum1, grafana12.4 12.4.13-0.6.hum1not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7h ago
Exploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @modelcontextprotocol/sdk | <1.32.0 |
1.32.0 |
| npm | @modelcontextprotocol/client | >=2.0.0, <2.3.0 |
2.3.0 |
Affected products
- modelcontextprotocol typescript-sdk
- @modelcontextprotocol sdk
- @modelcontextprotocol client
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/modelcontextprotocol/typescript-sdk/pull/2901
web
-
github.com
/modelcontextprotocol/typescript-sdk/pull/2902
web
-
github.com
/modelcontextprotocol/typescript-sdk/commit/30bfe5139f4b0825c90cd725f9a7e3f9af5e120d
web
-
github.com
/modelcontextprotocol/typescript-sdk/commit/433eb413dc305ebeb93b8ebcde0095a8fc0d5fa0
web
-
github.com
/modelcontextprotocol/typescript-sdk/security/advisories/GHSA-6prh-2h8m-c8cw
web
- github.com /modelcontextprotocol/typescript-sdk/releases/tag/1.32.0
- github.com /modelcontextprotocol/typescript-sdk/releases/tag/@modelcontextprotocol/server@2.3.0
-
github.com
/modelcontextprotocol/typescript-sdk
package
Sources
- CVE List CVE-2026-111769
- GitHub Advisory GHSA-6prh-2h8m-c8cw
- NVD CVE-2026-111769
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.