Una vulnerabilità di sicurezza recentemente scoperta ha messo a rischio milioni di utenti Google, aprendo alla possibilità – da parte di terzi – di risalire ai numeri di telefono associati agli account, partendo da un semplice nome profilo e da poche cifre note. La falla, ormai corretta, risiedeva in un modulo legacy di recupero username privo delle moderne contromisure anti-abuso, come CAPTCHA efficaci e algoritmi di rate limiting (limiti sul numero di richieste per IP) robusti.
A identificare il problema è stato BruteCat, ricercatore già noto per aver svelato metodi per ottenere indirizzi email privati da account YouTube. Il bug sfruttava un endpoint obsoleto di Google progettato per ambienti senza JavaScript, ancora raggiungibile e mal protetto. Per “endpoint non protetto” si intende un’interfaccia o un punto di accesso a un sistema — solitamente un URL, una API o un modulo Web — che è ancora pubblicamente accessibile e non implementa adeguate misure di sicurezza.
Com’era possibile recuperare i numeri di telefono di qualunque utente Google
Il ricercatore spiega che l’attacco partiva da una versione obsoleta del modulo per il recupero del nome utente, accessibile anche con JavaScript disabilitato. Inviando due richieste POST contenenti un nome utente e un numero, si otteneva conferma della corrispondenza con un account Google.
BruteCat ha costruito un sistema per eludere i blocchi imposti da Google sul numero di richieste inviate verso l’interfaccia pubblica. Sfruttando il vasto spazio di indirizzamento IPv6 (rotazione su subnet /64), il ricercatore ha potuto aggirare agevolmente i CAPTCHA quindi manipolare il parametro bgresponse=js_disabled
, sostituendolo con un token BotGuard valido ottenuto da un modulo moderno con JavaScript abilitato.
Per automatizzare il tutto, ha sviluppato un software dedicato (qui la dimostrazione del funzionamento) in grado di:
- Generare numeri telefonici plausibili con libphonenumber (una libreria Google utile per analizzare, formattare e validare numeri telefonici in più di 200 Paesi, tenendo conto delle diverse convenzioni nazionali).
- Utilizzare database regionali per distinguere i prefissi nazionali.
- Automatizzare l’ottenimento di token BotGuard richiamando il browser Chrome in modalità headless.
Un token BotGuard è un token crittografico generato da Google tramite JavaScript che serve a verificare se una richiesta proviene da un utente reale (browser e interazioni umane) oppure da un bot.
Bruteforce del numero di telefono effettuabile in pochi minuti
BruteCat ha dimostrato risultati davvero inquietanti: facendo leva sulla lacuna di sicurezza presente nella routine di recupero del nome utente Google, era possibile stabilire il numero di telefono di qualunque utente USA in appena 20 minuti, per il Regno Unito in circa 4 minuti, per i Paesi Bassi addirittura in meno di 15 secondi.
Questo accadeva perché, come spiegato in precedenza, l’endpoint Google accettava richieste POST senza verifiche robuste, non implementava adeguati sistemi contro le pratiche di brute forcing ed era accessibile pubblicamente senza autenticazione.
Google, inoltre, fornisce il prefisso internazionale e le ultime due cifre del numero di telefono dell’utente (es. “+39•••••77”): questo significa che conoscendo la struttura dei numeri di telefono di ciascun Paese (ad esempio, in Italia si sa che le numerazioni mobili iniziano con la cifra “3”) e utilizzando le ultime due cifre già note, era possibile sferrare un attacco efficace riducendo il numero di tentativi.
Non solo. Inviando apposite richieste all’API Google, questa confermava se la coppia username-numero di telefono era corretta o meno.
Vulnerabilità chiusa, ma le domande restano
La vulnerabilità è stata segnalata a Google il 14 aprile 2025 attraverso il Vulnerability Reward Program (VRP). Inizialmente classificata a basso rischio, il 22 maggio è stata rivalutata come a media gravità, con all’implementazione di misure provvisorie e a una ricompensa di 5.000 dollari per il ricercatore.
Il 6 giugno 2025, Google ha annunciato di aver completamente dismesso l’endpoint legacy vulnerabile. Ad oggi, non è noto se il bug sia stato sfruttato attivamente da attori malevoli prima della scoperta.
Considerazioni finali
La vicenda rappresenta un monito per le grandi piattaforme: endpoint obsoleti e strumenti legacy, se non attentamente monitorati e deprecati, possono diventare vere e proprie “porte sul retro”.
L’uso combinato di tecniche avanzate — come la rotazione IPv6, browser headless (sprovvisti di interfaccia grafica e capaci di accettare ordini da riga di comando), l’ingegneria sociale — dimostra ancora una volta la creatività e la pericolosità dei moderni attaccanti.
Il lavoro di BruteCat ha permesso di chiudere un rischio grave prima che fosse (probabilmente) sfruttato su larga scala. Ma per gli utenti, resta l’importanza di proteggere i propri account con pratiche solide:
- Evitare l’utilizzo di numeri di telefono come unica forma di recupero.
- Utilizzare autenticazione a due fattori con app o token hardware.
- Prestare attenzione ai messaggi sospetti anche se provengono da “numeri noti”.