Microsoft, bastava un JWT senza firma per aprire un database da 17.000 miliardi di record

Un ricercatore ha individuato una grave falla nell'autenticazione JWT della piattaforma interna Microsoft Titan. Un token privo di firma permetteva di assumere privilegi amministrativi e interrogare database con circa 17.300 miliardi di righe.

Una piattaforma analitica interna di Microsoft, un’API raggiungibile da Internet e un controllo di autenticazione apparentemente robusto, ma con una lacuna decisiva: il server leggeva il contenuto dei token di accesso senza verificarne la firma crittografica. È la combinazione che ha permesso a Faav, ricercatore di sicurezza di 16 anni, di dimostrare come la piattaforma interna Titan del colosso di Redmond potesse consentire l’esecuzione di query SQL su un insieme di database che, secondo i metadati analizzati, contenevano complessivamente circa 17.300 miliardi di righe.

Non risultano oltre 17.000 miliardi di record “rubati” o scaricati: il ricercatore dichiara di avere limitato l’attività a metadati, descrizioni delle tabelle e campioni estremamente ridotti, segnalando poi il problema attraverso il programma bug bounty Microsoft. Il numero così elevato di record indica la quantità stimata di dati tecnicamente raggiungibili sfruttando la falla, non il volume sottratto. Microsoft ha corretto l’esposizione e riconosciuto al ricercatore una ricompensa di 5.000 dollari.

La scoperta risale ad agosto e settembre 2026, ma la storia affonda le radici in problemi ben più vecchi. Gli attacchi contro implementazioni errate dei JSON Web Token sono noti da oltre un decennio. RFC 8725, il documento IETF che raccoglie le migliori pratiche di sicurezza per JWT, cita esplicitamente il pericolo rappresentato da applicazioni che accettano token con algoritmo none oppure che non verificano correttamente l’algoritmo e la firma. Titan, stando alla ricostruzione pubblicata dal ricercatore e sottoposta anche alla revisione editoriale di Microsoft prima della divulgazione, presentava proprio un problema di questa famiglia.

La scoperta di Titan parte da un servizio apparentemente chiuso

Il 25 agosto 2026 Antares, uno strumento sviluppato dallo stesso Faav per automatizzare parte delle attività di bug hunting con modelli AI, ha individuato la presenza sul web di un servizio Microsoft denominato Titan. L’interfaccia mostrava una pagina che richiedeva una VPN aziendale, particolare che poteva far pensare a un’applicazione accessibile esclusivamente dalla rete interna.

Proteggere il frontend non equivale però a difendere automaticamente tutti i servizi che lavorano dietro di esso.

Antares ha infatti scovato un endpoint separato ospitato attraverso infrastruttura Azure Cloud Services: su quell’host risultava pubblicamente disponibile una descrizione Swagger/OpenAPI dell’interfaccia applicativa.

Il documento elencava quattro possibili “rotte”: tre di esse dichiaravano esplicitamente l’uso dell’autenticazione Azure AD tramite bearer token (token di accesso che il client deve presentare all’API per dimostrare di essere autorizzato); v2/Query rappresentava l’eccezione e, particolare ancora più delicato, consentiva di trasferire query SQL.

Il token sembrava valido, ma Titan non verificava la firma

Il punto debole era nella gestione dei token di accesso: Titan restituiva correttamente un errore HTTP 401 nel caso di richieste anonime, quindi l’autenticazione sembrava funzionare.

Faav ha però scoperto che il backend leggeva i dati contenuti nel JWT senza verificare davvero la firma crittografica che dovrebbe garantirne l’autenticità.

Modificando progressivamente informazioni come tenant, applicazione e identità dell’utente, il server continuava infatti a elaborare il token; la conferma è arrivata quando il ricercatore ha costruito un token con algoritmo none, quindi privo di firma.

A quel punto restava da capire quale identità accettasse Titan: dopo diversi tentativi, Faav ha inserito semplicemente admin ottenendo una corrispondenza con l’account amministrativo interno, riuscendo così a eseguire una query SQL.

In pratica, la piattaforma interna di Microsoft controllava alcune informazioni presenti nel token senza accertarsi che fossero state realmente emesse dall’azienda di Redmond e che nessuno le avesse modificate: un errore grave, perché firma, issuer, audience e durata sono proprio i controlli che una Web API deve validare prima di fidarsi dei claim ovvero delle dichiarazioni contenute in un JWT.

Cosa conteneva realmente la piattaforma Microsoft Titan

Una volta ottenuta la possibilità di interrogare Titan, il ricercatore ha iniziato a rendersi conto del contenuto della piattaforma.

Secondo i dati pubblicati da Faav, l’area applicativa comprendeva circa 25.000 record relativi ad account ed email, 17.990 indirizzi email di dipendenti, 15.001 record legati alle organizzazioni dei dipendenti, 355 configurazioni di database e 20.979 definizioni SQL di dataset virtuali. Risultavano inoltre 24.569 dashboard, 425.891 grafici e 27.347 definizioni di dataset.

La directory associata a Titan includeva informazioni quali nomi, indirizzi email, cronologia di accesso, qualifiche lavorative, dipartimenti e relazioni gerarchiche per una parte del personale Microsoft. Non si trattava comunque, precisa il ricercatore, dell’intera directory aziendale.

Il ricercatore ha fatto inoltre emergere informazioni che indicavano la presenza di dati relativi alle ricerche, identificatori e informazioni geografiche di livello generale.

Faav sottolinea che i dati geografici osservati non rappresentavano posizioni precise degli utenti, ma informazioni come Stato o Paese derivate dall’indirizzo IP. Nei dataset comparivano anche MUID, identificatori Microsoft utilizzabili in alcuni servizi e attività analitiche.

La presenza dello stesso tipo di identificatore in sorgenti differenti avrebbe potenzialmente consentito correlazioni tra dataset. Il ricercatore, però, dichiara di non avere effettuato associazioni di questo tipo, di non avere identificato utenti e di non avere costruito profili individuali.

Microsoft ha chiuso l’accesso pochi giorni dopo la segnalazione

La sequenza temporale è piuttosto rapida. Antares ha individuato Titan il 25 agosto 2026; il 5 settembre Faav ha scoperto la combinazione che consentiva di eseguire le query e inviato la segnalazione al Microsoft Security Response Center, che ha aperto un’indagine lo stesso giorno.

Tra il 6 e l’8 settembre Microsoft ha chiesto al ricercatore di interrompere ulteriori test e di fornire il proprio indirizzo IP per verificare l’estensione delle attività svolte.

Il 9 settembre l’endpoint risultava bloccato e il 17 settembre è arrivato per Faav un bug bounty da 5.000 dollari. Il 22 settembre ricercatore e Microsoft hanno discusso la divulgazione coordinata.

Microsoft ha ringraziato Faav per la segnalazione e ha affermato che il lavoro di coordinated vulnerability disclosure ha consentito di rafforzare i propri servizi. Il ricercatore, dal canto suo, specifica che non ha avuto accesso a dati dei clienti né effettuato un dump dei database.

Ti consigliamo anche

Link copiato negli appunti