---
title: Vulnerabilidade na SDK Python oficial do MCP permite que servidores maliciosos roubem credenciais OAuth
url: https://www.elseif.net/pt-br/vulnerabilidade-na-sdk-python-oficial-do-mcp-permite-que-servidores-maliciosos-roubem-credenciais-oauth
published: 2026-10-01T15:30:03+00:00
language: pt-br
section: Modelos
source: https://thehackernews.com/2026/09/official-mcp-python-sdk-flaw-can-let.html
organizations: MCP, Python SDK, OAuth, Cycode, ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider
publisher: elseif
---

# Vulnerabilidade na SDK Python oficial do MCP permite que servidores maliciosos roubem credenciais OAuth

Um servidor MCP malicioso pode enganar um aplicativo que usa a SDK Python oficial do MCP a entregar as credenciais OAuth que ele utiliza para acessar um serviço real, afirmaram os mantenedores da SDK em um aviso de segurança.

As versões afetadas enviaram o segredo do cliente, o código de autorização e a prova PKCE para um ponto final de token controlado pelo atacante. A correção foi incluída nas versões 1.30.0 e 2.2.0.

O Modelo de Contexto do Protocolo (MCP) é um padrão aberto para conectar aplicativos de IA a ferramentas e dados externos, e este pacote representa o SDK Python oficial para criar servidores e clientes MCP.

Com as credenciais roubadas, o atacante pode solicitar um token de acesso válido ao serviço de login real. A Cycode, empresa de segurança que relatou a falha, demonstrou em teste que o token obtido possui os mesmos privilégios concedidos ao aplicativo. O segredo do cliente é de longa duração, permanecendo ativo até que seja alterado.

A falha recebeu classificação alta (7,5) para os dois provedores que operam sem intervenção humana. Para o provedor interativo, onde o usuário precisa iniciar o login, a pontuação foi 6,5. Nenhum CVE foi atribuído até 29 de setembro.

Como o servidor rouba as credenciais

Quando um cliente MCP precisa fazer login, ele solicita ao servidor ao qual está conectado a localização do serviço de autorização que utilizará. Nas versões afetadas, a SDK não verificava sempre se a resposta era confiável. Um servidor malicioso poderia redirecionar o cliente para um serviço de autorização controlado pelo atacante, seja apontando para seu próprio servidor ou servindo detalhes que mencionam o serviço real enquanto enviam as credenciais para outro destino.

O cliente então envia seu segredo, seu código de autorização e sua prova PKCE ao atacante em vez do serviço legítimo. A prova PKCE é um valor de uso único criado para impedir a reutilização de um código de autorização roubado, de modo que entregá‑la anula essa proteção.

Com o provedor interativo, o usuário ainda precisa aprovar o login. A Cycode afirma que a página exibida para aprovação corresponde à página de login genuína, não despertando suspeitas. Os dois provedores de máquina‑para‑máquina não exigem aprovação humana.

Um aplicativo fica afetado se utiliza a SDK como cliente MCP via HTTP com um dos provedores OAuthClientProvider, ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider ou o provedor deprecated 1.x RFC7523OAuthClientProvider, e consegue conectar‑se a um servidor que não controla totalmente enquanto detém credenciais de um serviço de login real. Servidores MCP construídos com a SDK, clientes locais (stdio) e clientes que utilizam seus próprios tokens não são afetados.

Recomenda‑se atualizar para 1.30.0 na linha 1.x ou para 2.2.0 na linha 2.x. Nas versões corrigidas, o cliente determina o serviço de login esperado antes de buscar quaisquer detalhes e rejeita respostas que nomeiem outro serviço.

A atualização não resolve totalmente o problema para dois dos provedores. Para ClientCredentialsOAuthProvider ou PrivateKeyJWTOAuthProvider, o aviso indica que "a atualização não tem efeito até que seja passado o parâmetro issuer=" para especificar o serviço de login ao qual as credenciais pertencem. Sem esse parâmetro, elas ainda seguem o servidor indicado pelo MCP.

Na versão 1.30.0, o aviso sobre issuer aparece como aviso de depreciação padrão, o qual o Python ignora por padrão, tornando‑o fácil de passar despercebido. O provedor deprecated RFC7523OAuthClientProvider não possui opção issuer, exigindo migração para um dos provedores suportados.

Após a atualização, é necessário limpar quaisquer registros de cliente OAuth armazenados, pois os antigos não são associados a um serviço de login e permanecem inalterados. Caso o cliente já tenha se conectado a um servidor não confiável, recomenda‑se girar o segredo do cliente e revogar os tokens no serviço de login. Nas versões anteriores, a única mitigação é conectar‑se apenas a servidores MCP confiáveis.

Os testes de emissor incluídos nas notas de lançamento 1.30.0 e 2.2.0, divulgadas em 7 de setembro, foram listados como alterações de comportamento, não como correção de segurança. O aviso foi publicado em 28 de setembro, no mesmo dia em que a Cycode divulgou sua análise.

Nenhum ataque comprovado usando a falha foi relatado, nem houve relatos de exploração em outras fontes.
