---
title: Flaw nel SDK Python per MCP permette a server malevoli di rubare credenziali OAuth
url: https://www.elseif.net/it/flaw-nel-sdk-python-per-mcp-permette-a-server-malevoli-di-rubare-credenziali-oauth
published: 2026-09-30T15:42:41+00:00
language: it
section: Modelli
source: https://thehackernews.com/2026/09/official-mcp-python-sdk-flaw-can-let.html
organizations: MCP, Python SDK, OAuth
publisher: elseif
---

# Flaw nel SDK Python per MCP permette a server malevoli di rubare credenziali OAuth

Un server malevolo potrebbe ingannare un'applicazione basata sullo SDK Python ufficiale per MCP facendola cedere le credenziali OAuth utilizzate per accedere a un servizio reale, come dichiarato nella sicurezza advisory dei mantenitori. Le versioni interessate inviavano il client secret, il codice di autorizzazione e la chiave di prova PKCE a un endpoint di token controllato dall'attaccante. La correzione è stata rilasciata nelle versioni 1.30.0 e 2.2.0. Il Protocollo di Contesto del Modello (MCP) è uno standard aperto per collegare applicazioni AI a strumenti e dati esterni, e questo pacchetto costituisce il SDK Python ufficiale per la creazione di server e client MCP. Con le credenziali rubate, l'attaccante può richiedere un token di accesso valido al servizio di login reale. Cycode, la società di sicurezza che ha segnalato la vulnerabilità, ha dimostrato l'intero scambio in un test e ha indicato che il token risultante possiede le stesse autorizzazioni concesse all'applicazione. Il client secret è di lunga durata e rimane attivo fino a quando non viene modificato. La vulnerabilità è stata valutata come alta (7.5) per i due provider che operano senza intervento umano, mentre per il provider interattivo il punteggio è 6.5. Nessun CVE era stato assegnato al momento del 29 settembre.

In una fase successiva, il server malvolo può deviare la richiesta verso il proprio servizio di login, sfruttando la mancanza di verifica dell'endpoint da parte dello SDK nelle versioni interessate. L'applicazione colpita deve utilizzare lo SDK come client MCP su HTTP con uno dei provider OAuthClientProvider, ClientCredentialsOAuthProvider, PrivateKeyJWTOAuthProvider o il deprecated 1.x RFC7523OAuthClientProvider, e deve poter connettersi a un server non completamente controllato mentre possiede credenziali per un servizio di login reale. I server MCP costruiti con lo SDK, i client locali (stdio) e i client che gestiscono i propri token non sono interessati. Gli utenti sono invitati ad aggiornare alla versione 1.30.0 della branca 1.x o alla 2.2.0 della branca 2.x. Nella versione corretta, lo SDK determina il servizio di login atteso prima di recuperare qualsiasi informazione e rifiuta le risposte che lo indicano diversamente. Per i provider ClientCredentialsOAuthProvider e PrivateKeyJWTOAuthProvider, è necessario inoltre specificare il parametro issuer per associare le credenziali al servizio di login corretto; senza tale impostazione, le credenziali continuano a seguire il server indicato dal server MCP.

Nella versione 1.30.0, il messaggio di deprecazione relativo a questa verifica è nascosto di default da Python, rendendo facile il suo trascuramento. Il provider deprecato RFC7523OAuthClientProvider non offre alcun parametro issuer, perciò è consigliabile passare a uno dei provider alternativi. Dopo l'aggiornamento, è necessario eliminare tutte le registrazioni OAuth memorizzate, poiché quelle precedenti non sono associate a un servizio di login e rimangono invariati. Se si sospetta che un client abbia già interagito con un server non affidabile, è opportuno ruotare il client secret e revocare i token presso il servizio di login. Per le versioni precedenti non esistono alternative se non connettersi esclusivamente a server MCP di fiducia. L'advisory, pubblicato il 28 settembre, ha seguito la pubblicazione da parte di Cycode del suo report, e riconosce otto collaboratori, tra cui il ricercatore di Cycode. Nessun attacco sfruttando la vulnerabilità è stato documentato fino a oggi, né sono state segnalate altre attività malevole correlate.
