La seconda falla nella sandbox di Claude Code permetteva l'esfiltrazione di credenziali e dati sensibili. Anthropic l’ha corretta ad aprile senza advisory né CVE, la pressione si fa sentire.
Autore: Redazione SecurityOpenLab
Per la seconda volta in cinque mesi, la sandbox che dovrebbe isolare Claude Code dalla rete esterna si è rivelata aggirabile: un processo in esecuzione all'interno della sandbox poteva raggiungere degli host che in teoria erano bloccati dalle policy dell'utente, e permetteva l’esfiltrazione di qualsiasi dato. La vulnerabilità riguarda le versioni di Claude Code dalla 2.0.24 alla 2.1.89 ed è stata corretta da Anthropic ad aprile con la pubblicazione della versione 2.1.90, senza advisory pubblico, senza assegnazione di una CVE e senza alcuna comunicazione agli utenti. Chi non ha monitorato il changelog di propria iniziativa non ha mai saputo di essere stato esposto.
Qualcuno potrebbe pensare che il problema non sia così grave, dato che è stato risolto. Il punto è il contesto in cui si è presentato: ricordiamo infatti che nelle settimane precedenti il codice sorgente completo di Claude Code era già finito pubblicamente su NPM per una svista di packaging; sempre ad aprile era emersa una prima falla nella sandbox (CVE-2025-66479); a maggio Claude Code è comparso come bersaglio ufficiale al Pwn2Own Berlino 2026, dove due team indipendenti hanno dimostrato exploit validi sul palco. Tre episodi in poche settimane su un agente con accesso a file system, credenziali e infrastrutture di produzione.
Claude Code consente agli utenti di definire una lista di domini raggiungibili dall'ambiente in cui opera l'agente, per esempio limitando le connessioni in uscita ai soli servizi autorizzati. La falla sfruttava una discrepanza nel modo in cui due componenti diversi interpretavano lo stesso nome di dominio. Il filtro implementato in JavaScript verificava che il nome del dominio di destinazione terminasse con uno dei suffissi autorizzati; il sistema operativo, invece, troncava il nome al primo carattere nullo incontrato nella stringa.
Combinando queste due letture diverse dello stesso input, era possibile costruire un nome di dominio qualsiasi (per esempio attacker.com), seguito da un carattere nullo e poi da .google.com per farlo considerare come autorizzato, dato che i domini .google.com sono autorizzati. Il sistema operativo lo risolveva come attacker.com. Questa tecnica è conosciuta come null-byte injection, ed è una classe di errori legata alla gestione disomogenea delle stringhe in sistemi che combinano componenti scritti in linguaggi diversi.
Una volta aperta la connessione, qualsiasi dato accessibile all'interno dell'ambiente isolato poteva essere trasmesso all'esterno: chiavi API, token di autenticazione, variabili d'ambiente, file di configurazione, codice sorgente dei progetti in lavorazione, credenziali per servizi cloud. Il rischio aumentava significativamente in combinazione con attacchi di tipo prompt injection, in cui delle istruzioni malevole nascoste in un file di documentazione, in un commento su GitHub o in qualsiasi altro contenuto che l'agente leggeva nel corso del suo lavoro, potevano indurlo a eseguire la catena di attacco in modo autonomo e invisibile all'utente.
Non è la prima volta che la Anthropic Sandbox Runtime cede. La vulnerabilità precedente che abbiamo citato sopra (CVE-2025-66479) aveva una natura diversa ma analogamente elementare: una lista di domini autorizzati lasciata vuota veniva interpretata come consenti tutto anziché blocca tutto, annullando di fatto qualsiasi restrizione configurata dall'utente. Due falle distinte, stesso componente, stesso risultato: l'isolamento della rete non reggeva.
Il fatto che si tratti della seconda compromissione dello stesso meccanismo, in meno di sei mesi, solleva una questione che va oltre il singolo bug. Come discusso su queste pagine dopo il leak del sorgente, parte del codice di Claude Code è stata generata da un modello linguistico: chi voleva cercare falle aveva già tutto il materiale necessario. Perché allora Anthropic ha scelto di correggere (in silenzio e per la seconda volta consecutiva), una falla in uno strumento con accesso a credenziali e infrastrutture di produzione?
Ad alimentare le critiche nella comunità della ricerca è proprio la gestione della disclosure: il 1 aprile 2026 Anthropic ha corretto la falla con la pubblicazione della versione 2.1.90, ma non ha pubblicato alcun avviso di sicurezza, non ha richiesto l'assegnazione di un identificativo CVE, non ha incluso alcuna menzione nel changelog pubblico e, in definitiva, non ha notificato nulla agli utenti. Silenziosamente ha introdotto una validazione più stringente dei nomi di dominio che rifiuta input non adeguati, compresi quelli contenenti caratteri nulli o sequenze non valide per un indirizzo DNS.
Chi stava usando una delle 130 versioni esposte in un ambiente aziendale non ha mai saputo che ci fosse qualcosa da correggere urgentemente. La finestra di esposizione si estende dalla versione 2.0.24 fino alla 2.1.89: chiunque abbia utilizzato Claude Code in contesti professionali dovrebbe verificare quale versione era in uso, controllare i log delle connessioni in uscita per rilevare traffici anomali verso host non autorizzati e valutare la rotazione preventiva delle credenziali accessibili all'agente. Claude Code opera con accesso al file system, alle variabili d'ambiente e spesso alle credenziali per infrastrutture cloud e repository: il perimetro di danno potenziale di una falla nella sua sandbox non è paragonabile a quello di un'applicazione qualsiasi. È molto più ampio. Affidarsi esclusivamente ai controlli di sicurezza implementati a livello applicativo, come questo caso dimostra per la seconda volta, non è sufficiente.