PT-2026-106775 · Npm · @Modelcontextprotocol/Sdk+1

CVE-2026-104850

·

Publicado

2026-10-06

·

Atualizado

2026-10-07

CVSS v3.1

7.5

Alta

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Nome do Software Vulnerável e Versões Afetadas @modelcontextprotocol/sdk versões 1.12.0 até 1.30.1 @modelcontextprotocol/client versões 2.0.0 até 2.1.0
Description O suporte ao cliente OAuth do SDK permite que um servidor MCP determine qual servidor de autorização recebe as credenciais OAuth do cliente, pois as credenciais armazenadas e pré-provisionadas não estão vinculadas aos seus respectivos servidores de autorização. Um servidor MCP malicioso ou comprometido poderia especificar seu próprio servidor de autorização em seus metadados de recurso protegido. Consequentemente, sem interação do usuário, o cliente poderá enviar o refresh token e o client secret de um login anterior, ou o client secret ou a asserção assinada de um provedor não interativo integrado. Este problema afeta aplicações que utilizam o SDK como um cliente MCP via HTTP com um authProvider (como um OAuthClientProvider personalizado ou provedores integrados como ClientCredentialsProvider, PrivateKeyJwtProvider, StaticPrivateKeyJwtProvider ou CrossAppAccessProvider) que se conectam a servidores MCP não confiáveis enquanto possuem credenciais de um servidor de autorização legítimo.
Recommendations Atualize o @modelcontextprotocol/sdk para a versão 1.31.0 ou posterior. Atualize o @modelcontextprotocol/client para a versão 2.2.0 ou posterior. Para provedores integrados (ClientCredentialsProvider, PrivateKeyJwtProvider, StaticPrivateKeyJwtProvider, CrossAppAccessProvider), passe o parâmetro expectedIssuer para especificar o servidor de autorização legítimo. Adicione o campo issuer às credenciais persistidas no armazenamento (arquivos, chaveiros ou bancos de dados) ou limpe as credenciais existentes para forçar um novo login. Garanta que implementações personalizadas de OAuthClientProvider salvem o issuer fornecido por saveTokens() e saveClientInformation(), e incluam o issuer no valor de retorno de clientInformation() para credenciais pré-registradas. Como solução temporária para versões 1.x, conecte clientes habilitados para OAuth apenas a servidores MCP confiáveis. Para as versões 2.0.0 e 2.1.0, utilize o parâmetro expectedIssuer como mitigação. Se um cliente se conectou a um servidor MCP não confiável, rotacione o segredo do cliente ou a chave de assinatura e revogue todos os tokens associados.

Exploit

Correção

Insufficiently Protected Credentials

Insufficient Verification of Data Authenticity

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-104850
GHSA-6QXP-VCCF-F47H

Produtos afetados

@Modelcontextprotocol/Client
@Modelcontextprotocol/Sdk