Transazioni di criptovaluta non autorizzate abilitate dal thirdweb MCP Server
Autore: Evan Harris
Rischio: Alto
Componente interessato: thirdweb MCP Server
Introduzione
Nell’ambito della nostra continua attività di ricerca sulla sicurezza dei server Model Context Protocol (MCP), abbiamo individuato una significativa vulnerabilità di sicurezza nel thirdweb MCP Server che consente transazioni di criptovaluta non autorizzate tramite un accesso di rete non autenticato.
Panoramica della vulnerabilità
Il thirdweb MCP Server, quando viene avviato con il flag --transport sse, espone un’interfaccia Server-Sent Events (SSE) non autenticata che, per impostazione predefinita, si associa a 0.0.0.0:8000. Questa configurazione consente ad aggressori remoti di eseguire transazioni di criptovaluta non autorizzate dai wallet delle vittime.
Dettagli tecnici
Il problema
Quando è configurato con il trasporto SSE, il server:
- Si associa a
0.0.0.0:8000, rendendolo accessibile da qualsiasi host della rete - Non fornisce alcun meccanismo di autenticazione per l’endpoint
/sse - Si fida di qualsiasi client connesso per l’esecuzione di operazioni privilegiate, incluse le transazioni di criptovaluta
Scenario di attacco
Un aggressore può:
- Individuare l’endpoint esposto all’indirizzo
http://victim_ip:8000/sse - Connettersi utilizzando strumenti MCP standard come MCP Inspector
- Eseguire transazioni non autorizzate utilizzando lo strumento
send_transaction - Trasferire criptovaluta dal wallet della vittima al proprio indirizzo
Proof of Concept
Configurazione vulnerabile
thirdweb-mcp \
--transport sse \
--secret-key=sk_... \
--engine-url=railway_hosted_engine_url \
--engine-auth-jwt=eyJ... \
--engine-backend-wallet-address=0xVictimWallet
Esecuzione di transazioni non autorizzate
Utilizzando MCP Inspector, un aggressore può connettersi a http://victim_ip:8000/sse ed eseguire lo strumento send_transaction con i parametri appropriati per trasferire criptovaluta dal wallet della vittima a un indirizzo controllato dall’aggressore.
[Dettagli tecnici omessi in attesa della disponibilità di una patch]
Ciò comporta il trasferimento non autorizzato di criptovaluta dal wallet della vittima senza alcuna autenticazione o consenso dell’utente.
Valutazione dell’impatto
Questa vulnerabilità consente:
- Il furto diretto di criptovaluta dai wallet delle vittime senza il consenso dell’utente
- Un’esposizione a livello di intera rete che interessa bar, uffici, reti pubbliche e qualsiasi rete privata compromessa
Fattori di rischio
- Esposizione di rete: L’associazione predefinita a
0.0.0.0rende il servizio accessibile in tutta la rete - Nessuna autenticazione: Qualsiasi client può connettersi ed eseguire operazioni privilegiate
- Bersaglio ad alto valore: Accesso diretto alle transazioni di criptovaluta
- Funzionamento silenzioso: Gli attacchi possono avvenire senza che l’utente se ne accorga
Mitigazioni consigliate
Per gli utenti (immediato)
- Evitare l’uso di
--transport ssein ambienti di rete condivisi - Utilizzare l’associazione a localhost modificando la configurazione predefinita
- Implementare restrizioni a livello di rete (firewall, VPN)
Per gli sviluppatori (a lungo termine)
- Modificare l’associazione predefinita da
0.0.0.0a127.0.0.1 - Implementare l’autenticazione per tutte le interfacce di trasporto
- Aggiungere avvisi di sicurezza nella documentazione e nell’output della CLI
- Valutare modelli di sicurezza specifici per il trasporto
Questa vulnerabilità è stata segnalata al team di thirdweb attraverso pratiche di divulgazione responsabile. Consigliamo agli utenti di aggiornare all’ultima versione non appena saranno disponibili le patch.
Implicazioni più ampie
Questa scoperta mette in evidenza importanti considerazioni di sicurezza per i server MCP:
- I meccanismi di autenticazione sono essenziali per qualsiasi servizio MCP accessibile dalla rete
- I valori predefiniti di associazione di rete dovrebbero dare priorità alla sicurezza rispetto alla comodità
- La sicurezza a livello di trasporto dovrebbe essere utilizzata per mitigare gli attacchi basati su HTTP
- La documentazione di sicurezza dovrebbe delineare i rischi di distribuzione
Cronologia della divulgazione
- 2025-05-23: Vulnerabilità scoperta e segnalata al team di thirdweb
- 2025-07-18: E-mail di sollecito con richiesta di conferma di ricezione della divulgazione
- 2025-09-02: Verifica finale a conferma che il rapporto sarebbe stato reso pubblico
- 2025-09-03: Divulgazione pubblica e pubblicazione dell’avviso di sicurezza
Conclusione
La possibilità di effettuare transazioni non autorizzate nel thirdweb MCP Server dimostra l’importanza cruciale di impostazioni predefinite sicure negli strumenti di sviluppo che integrano blockchain e intelligenza artificiale.
Con la crescita dell’adozione di MCP, l’implementazione di solide misure di sicurezza diventa ancora più essenziale per proteggere i beni digitali degli utenti e mantenere la fiducia nell’ecosistema.
Le organizzazioni e le persone che distribuiscono server MCP dovrebbero condurre revisioni di sicurezza approfondite, adottare strategie di difesa in profondità e mantenere la consapevolezza dei rischi di esposizione di rete.