Repository navigation
chore(deps): update dependency @modelcontextprotocol/sdk to v1.32.0 [security] - #116
Merged
renovate[bot] merged 1 commit intoOct 20, 2026
Conversation
renovate
Bot
deleted the
renovate/npm-modelcontextprotocol-sdk-vulnerability
branch
October 20, 2026 20:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.31.0→1.32.0MCP TypeScript SDK: Experimental tasks were not tied to the session that created them
CVE-2026-111767 / GHSA-22jm-h49p-29qw
More information
Details
Summary
In affected versions, the experimental tasks feature (
taskStore) did not check which session created a task. Clients sharing oneInMemoryTaskStorecould list, read and cancel each other's tasks.Experimental tasks are deprecated. The 2026-07-28 specification replaced them with a redesigned extension. The best course of action is to stop using them.
Am I affected?
Only if your HTTP server passes
taskStoretoMcpServerorServer. Ifgrep -ri taskstore --exclude-dir=node_modules .finds nothing, you are not affected.Affected versions:
@modelcontextprotocol/sdk1.24.0 through 1.31.0. The 2.x packages are not affected.Fix
Upgrade to
@modelcontextprotocol/sdk1.32.0 or later. Each task is now tied to the session that created it, so a client that starts a new session can no longer reach its earlier tasks.If you cannot upgrade yet, remove
taskStore, or create oneInMemoryTaskStoreper session.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
MCP TypeScript client SDK: HTTP client transports and OAuth requests followed cross-origin redirects and re-sent custom headers and request bodies
CVE-2026-111769 / GHSA-6prh-2h8m-c8cw
More information
Details
Summary
In affected versions, the SDK's HTTP client transports and OAuth requests followed redirects to any origin.
If an MCP server or authorization server redirected a request to another origin, that origin received custom request headers (such as an
X-API-Keyset inrequestInit.headers) and themcp-session-idheader. On a307or308it also received the request body, including OAuth token requests with theirrefresh_tokenandclient_secret.On current runtimes
fetchalready drops theAuthorizationheader across origins.Am I affected?
Yes, if your application uses
StreamableHTTPClientTransport,SSEClientTransport, or the SDK's OAuth client functions such asauth(). stdio clients are not affected.Affected versions:
@modelcontextprotocol/sdkall versions through 1.31.0@modelcontextprotocol/client2.0.0 through 2.2.0Fix
Upgrade to:
@modelcontextprotocol/sdk1.32.0 or later@modelcontextprotocol/client2.3.0 or laterRedirects are now followed only within the same origin, and not at all in browsers. If your MCP server or authorization server redirects to another origin on purpose, configure the final URL instead. Setting
redirectPolicy: 'follow'on a transport restores the old behaviour and the exposure.If a redirect may have reached a host you do not control, rotate the API keys and
client_secretyour application held and revoke its tokens.If you cannot upgrade yet, pass a
fetchthat refuses redirects, for example(url, init) => fetch(url, { ...init, redirect: 'error' }).Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
MCP TypeScript SDK: Server bearer authentication accepted tokens issued for another service
CVE-2026-111771 / GHSA-rvq5-wwqv-78pq
More information
Details
Summary
In affected versions, the SDK's server-side bearer authentication had no way to check that a token was issued for your server (its audience). Where one authorization server issues tokens for several services, a valid token for another service was also accepted by your MCP server.
Am I affected?
Yes, if your HTTP server uses
requireBearerAuth()orverifyBearerToken(), its authorization server also issues tokens for other services, and yourverifyAccessToken()does not check the token's audience (aud) itself.Affected versions:
@modelcontextprotocol/sdk1.6.0 through 1.31.0@modelcontextprotocol/server2.0.0 through 2.2.0@modelcontextprotocol/express2.0.0 through 2.0.1@modelcontextprotocol/server-legacy2.0.0 through 2.3.0Fix
Upgrade to:
@modelcontextprotocol/sdk1.32.0 or later@modelcontextprotocol/server2.3.0 or later, together with@modelcontextprotocol/express2.0.2 or later if you use it@modelcontextprotocol/server-legacy2.3.1 or laterUpgrading alone changes nothing. The patched versions add an
expectedResourcesetting that is off by default. To turn the check on, make both of these changes together:requireBearerAuth({ verifier, expectedResource: new URL('https://mcp.example.com/mcp') }).verifyAccessToken()asAuthInfo.resource, also aURL.A token for another service then gets
401. With only the first change, every request gets401.If you cannot upgrade yet, reject any token whose
auddoes not include your server insideverifyAccessToken(). That closes the issue on every version.Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
modelcontextprotocol/typescript-sdk (@modelcontextprotocol/sdk)
v1.32.0Compare Source
Upgrade notes
redirectPolicy: 'follow'onStreamableHTTPClientTransportorSSEClientTransport. In browsers, a redirected request fails unless that option is set.maxToolInputElementsonMcpServerlimits the number of array elements and object members in a tool call's arguments.expectedResourceonrequireBearerAuthaccepts only tokens issued for this server (the token's audience).What's Changed
New Contributors
Full Changelog: modelcontextprotocol/typescript-sdk@1.31.0...1.32.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.