<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 07 Oct 2026 15:02:49 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-104850</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-104850</link>
      <description>&lt;p&gt;MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients. Starting in version 1.12.0 and prior to versions 1.31.0 and 2.2.0, the SDK&amp;#39;s OAuth client support let the MCP server a client connected to decide which authorization server received the client&amp;#39;s OAuth credentials. Stored and pre-provisioned credentials were not bound to the authorization server they belong to. A malicious or compromised MCP server could name its own authorization server in its protected resource metadata. Without any user interaction, the client would send that server the `refresh_token` and `client_secret` stored from an earlier sign-in (1.x), or the configured `client_secret` or signed assertion of a bundled non-interactive provider (1.x and 2.x). Only those applications that use the SDK as an MCP client over HTTP with an `authProvider`: your own `OAuthClientProvider`, or the bundled `ClientCredentialsProvider`, `PrivateKeyJwtProvider`, `StaticPrivateKeyJwtProvider` or (2.x) `CrossAppAccessProvider` and that may connect to an MCP server the owners does not fully trust while holding credentials for a legitimate authorization server are affected. `@modelcontextprotocol/sdk` 1.31.0 (1.x) and `@modelcontextprotocol/client` 2.2.0 (2.x) patch the issue. A workaround for those who cannot upgrade is available. 2.0.0 and 2.1.0 already accept `expectedIssuer`. On 1.x, the only workaround is to connect OAuth-enabled clients only to MCP servers you trust.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients. Starting in version 1.12.0 and prior to versions 1.31.0 and 2.2.0, the SDK&amp;#39;s OAuth client support let the MCP server a client connected to decide which authorization server received the client&amp;#39;s OAuth credentials. Stored and pre-provisioned credentials were not bound to the authorization server they belong to. A malicious or compromised MCP server could name its own authorization server in its protected resource metadata. Without any user interaction, the client would send that server the `refresh_token` and `client_secret` stored from an earlier sign-in (1.x), or the configured `client_secret` or signed assertion of a bundled non-interactive provider (1.x and 2.x). Only those applications that use the SDK as an MCP client over HTTP with an `authProvider`: your own `OAuthClientProvider`, or the bundled `ClientCredentialsProvider`, `PrivateKeyJwtProvider`, `StaticPrivateKeyJwtProvider` or (2.x) `CrossAppAccessProvider` and that may connect to an MCP server the owners does not fully trust while holding credentials for a legitimate authorization server are affected. `@modelcontextprotocol/sdk` 1.31.0 (1.x) and `@modelcontextprotocol/client` 2.2.0 (2.x) patch the issue. A workaround for those who cannot upgrade is available. 2.0.0 and 2.1.0 already accept `expectedIssuer`. On 1.x, the only workaround is to connect OAuth-enabled clients only to MCP servers you trust.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-104850</guid>
    </item>
    <item>
      <title>GHSA-6qxp-vccf-f47h — MCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-6qxp-vccf-f47h</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @modelcontextprotocol/sdk, npm: @modelcontextprotocol/client&lt;/p&gt;
&lt;p&gt;### Summary
In affected versions, the SDK&amp;#39;s OAuth client let the MCP server decide which authorization server received the client&amp;#39;s OAuth credentials. Credentials were not tied to the authorization server they belong to.&lt;/p&gt;
&lt;p&gt;A malicious or compromised MCP server could name its own authorization server. With no user interaction, the client would send it:&lt;/p&gt;
&lt;p&gt;- the `refresh_token` and `client_secret` stored from an earlier sign-in
- the `client_secret` or signed assertion configured on a bundled provider&lt;/p&gt;
&lt;p&gt;### Am I affected?
Yes, if both of these hold:&lt;/p&gt;
&lt;p&gt;- your application uses the SDK&amp;#39;s OAuth client over HTTP, through any of:
    - an `authProvider` on a transport
    - the `withOAuth()` middleware
    - direct calls to `auth()` or `fetchToken()`
- it may connect to an MCP server you do not fully trust while holding credentials for a legitimate authorization server&lt;/p&gt;
&lt;p&gt;Affected versions:&lt;/p&gt;
&lt;p&gt;- `@modelcontextprotocol/sdk` 1.12.0 through 1.30.1
- `@modelcontextprotocol/client` 2.0.0 through 2.1.0, only for:
    - bundled providers without `expectedIssuer`
    - credentials stored or supplied without `issuer`
    - direct calls to `fetchToken()`
    - providers that read storage back through `OAuthTokensSchema` or `OAuthClientInformationSchema`&lt;/p&gt;
&lt;p&gt;Not affected:&lt;/p&gt;
&lt;p&gt;- MCP servers built with the SDK
- stdio clients&lt;/p&gt;
&lt;p&gt;### Fix
Upgrade to:&lt;/p&gt;
&lt;p&gt;- 1.x: `@modelcontextprotocol/sdk` 1.31.0 or later
- 2.x: `@modelcontextprotocol/client` 2.2.0 or later, and `@modelcontextprotocol/core` 2.2.0 or later if you impor…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @modelcontextprotocol/sdk, npm: @modelcontextprotocol/client&lt;/p&gt;
&lt;p&gt;### Summary
In affected versions, the SDK&amp;#39;s OAuth client let the MCP server decide which authorization server received the client&amp;#39;s OAuth credentials. Credentials were not tied to the authorization server they belong to.&lt;/p&gt;
&lt;p&gt;A malicious or compromised MCP server could name its own authorization server. With no user interaction, the client would send it:&lt;/p&gt;
&lt;p&gt;- the `refresh_token` and `client_secret` stored from an earlier sign-in
- the `client_secret` or signed assertion configured on a bundled provider&lt;/p&gt;
&lt;p&gt;### Am I affected?
Yes, if both of these hold:&lt;/p&gt;
&lt;p&gt;- your application uses the SDK&amp;#39;s OAuth client over HTTP, through any of:
    - an `authProvider` on a transport
    - the `withOAuth()` middleware
    - direct calls to `auth()` or `fetchToken()`
- it may connect to an MCP server you do not fully trust while holding credentials for a legitimate authorization server&lt;/p&gt;
&lt;p&gt;Affected versions:&lt;/p&gt;
&lt;p&gt;- `@modelcontextprotocol/sdk` 1.12.0 through 1.30.1
- `@modelcontextprotocol/client` 2.0.0 through 2.1.0, only for:
    - bundled providers without `expectedIssuer`
    - credentials stored or supplied without `issuer`
    - direct calls to `fetchToken()`
    - providers that read storage back through `OAuthTokensSchema` or `OAuthClientInformationSchema`&lt;/p&gt;
&lt;p&gt;Not affected:&lt;/p&gt;
&lt;p&gt;- MCP servers built with the SDK
- stdio clients&lt;/p&gt;
&lt;p&gt;### Fix
Upgrade to:&lt;/p&gt;
&lt;p&gt;- 1.x: `@modelcontextprotocol/sdk` 1.31.0 or later
- 2.x: `@modelcontextprotocol/client` 2.2.0 or later, and `@modelcontextprotocol/core` 2.2.0 or later if you impor…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-6qxp-vccf-f47h</guid>
    </item>
  </channel>
</rss>
