eMudhra: chiavi private di otto CA intermedie ricavabili dai certificati pubblici, blocchi d'emergenza e root emSign rimossa da Chrome dal 27 ottobre
Otto autorità di certificazione (CA) intermedie di eMudhra, società indiana di identità digitale, firme digitali e certificati elettronici, hanno chiavi private che chiunque può ricavare dai dati pubblici dei loro certificati. Sei emettono certificati TLS e discendono dalla root emSign ECC Root CA - G3, due servono a firmare codice, e ognuna esiste anche nella versione con firma incrociata (cross-sign) di Sectigo sotto la root AAA Certificate Services: 16 certificati in tutto. Le chiavi sono su curva P-384, ma il valore segreto di ciascuna è un numero inferiore a 256, in pratica tutti zeri tranne l'ultimo byte, e si ricava quasi all'istante. Chi possiede una di queste chiavi può emettere certificati TLS validi per qualsiasi dominio, impersonando siti e servizi, oppure firmare software malevolo, e ingannare così i client e i sistemi che si fidano ancora di quelle catene. ACN ne ha dato conto il 23 ottobre 2026 in un proprio bollettino. Al momento non risulta alcuno sfruttamento malevolo. Le chiavi però sono state ricavate in modo indipendente da più persone e in alcuni casi diffuse pubblicamente: per indovinarne una servono meno tentativi che per un PIN di tre cifre.
Il difetto risale alla key ceremony del 30 aprile 2025, la procedura formale con cui la CA ha generato le chiavi, che sono quindi rimaste attaccabili per circa diciotto mesi. A scoprirlo, il 17 ottobre 2026, è stato un ricercatore che Mozilla indica solo come Wayne: la sua segnalazione ad Apple, Chrome, Microsoft, Mozilla ed eMudhra conteneva una prova di possesso per ognuna delle otto chiavi, e Dennis Jackson di Mozilla le ha ricavate da solo poche ore dopo. La sera stessa Chrome ha bloccato le CA compromesse con un aggiornamento CRLSet e Firefox ha fatto lo stesso con OneCRL; Android ha ricevuto il blocco tramite Google Play Services il 19 ottobre, Apple lo applica dal 19 e Microsoft dal 20. eMudhra ha revocato le otto CA il 18 ottobre e Sectigo le versioni cross-sign il giorno dopo. Nel report d'incidente aperto da Mozilla, eMudhra attribuisce l'errore a uno script usato durante la cerimonia per una prova approvata in deroga alla procedura: ha creato nel modulo hardware che custodisce le chiavi (HSM) una seconda coppia, debole, finita per errore nella richiesta di certificato inviata anche a Sectigo per la firma incrociata. La causa esatta è ancora da accertare. Il 20 ottobre Mozilla ha deciso la rimozione d'emergenza della fiducia nella root emSign ECC Root CA - G3 e ha annunciato versioni di Firefox fuori calendario; Google la toglie dal Chrome Root Store dalla mattina del 27 ottobre, ora del Pacifico, mentre Apple la blocca dal 23 ottobre. Il 22 ottobre eMudhra ha annunciato l'uscita dal mercato globale dei certificati TLS: sostituirà gratuitamente i certificati dei clienti tramite partner e terrà attivi i servizi di revoca fino a scadenza, mentre firme digitali ed eSign proseguono.
Secondo Google, prima dei blocchi nessun certificato TLS emesso dalle sei CA risultava registrato nei log di Certificate Transparency (CT), i registri pubblici dei certificati attendibili; Chrome, Firefox, Edge e Safari pretendono questa registrazione, quindi contro di loro non risultano certificati fraudolenti utilizzabili. Per i client che non applicano la CT nessuno può escluderlo: «non sappiamo se gli attaccanti abbiano sfruttato la generazione difettosa delle chiavi contro questi client», scrive il sito di verifica pubblicato da Dennis Jackson con i contributi della comunità. eMudhra sostiene che dalle otto CA non è mai stato emesso un certificato finale. Dopo i blocchi, però, nei log CT sono comparsi certificati firmati con le chiavi compromesse: un partecipante al report d'incidente, con un conteggio pubblicato il 25 ottobre che non ha altri riscontri, ne indica 107.107 registrati fra il 20 e il 21 ottobre, 106.050 dei quali dimostrativi e intestati soltanto a google.com. Nessuna fonte li collega ad attacchi; provano però che le chiavi ormai circolano. Google ha verificato che nessun'altra chiave dei suoi root store ha lo stesso difetto e sta valutando se mantenere nel Chrome Root Store le altre CA di eMudhra.
Per un'organizzazione italiana l'esposizione dipende meno dai certificati che usa e più da quelli che accetta. Con le chiavi si possono fabbricare certificati per qualunque dominio, compresi quelli della PA, e a fidarsi ancora sono i client che non ricevono blocchi e revoche e non applicano la CT. A doversene preoccupare è chi gestisce server, applicazioni e pipeline basate su runtime con un proprio archivio di certificati (Go, Node.js, Python con certifi, Java, Rust, Electron), immagini container con pacchetti ca-certificates datati, proxy con ispezione TLS e apparati o dispositivi IoT con archivio statico, chi usa gli strumenti da riga di comando di macOS, che si appoggiano al file cert.pem di sistema senza blocco né controllo della revoca fino a un aggiornamento di Apple ancora senza data, e chi amministra macchine Windows isolate o senza aggiornamenti automatici, anche per la verifica delle firme Authenticode: le due CA di code signing erano attendibili solo nel programma di Microsoft. Chi usa browser aggiornati è già protetto, e sui dispositivi Android un riavvio applica subito il blocco. L'altro fronte riguarda chi ha certificati legittimi sotto emSign ECC Root CA - G3: secondo l'analisi dei log CT di Chrome sono circa 30.800 non scaduti, per il 99,9% emessi da due CA subordinate di InCommon, il servizio di Internet2 per la ricerca statunitense, e secondo eMudhra il 97% è stato emesso tramite il protocollo ACME. Dal 27 ottobre Chrome li rifiuterà, e i prodotti basati sull'archivio di Mozilla possono farlo anche prima; Chrome fa notare che i client ACME standard non anticipano da soli il rinnovo. I browser si sono messi al riparo in poche ore, il resto dell'ecosistema si aggiorna un pacchetto alla volta.
- Versioni affette: nessuna versione di prodotto, perché il difetto sta nelle chiavi delle CA. Sono compromessi 16 certificati: le CA eMudhra EM DV TLS CA - G3B e G3C, EM OV TLS CA - G3B e G3C, EM EV TLS CA - G3B e G3C ed EM OV CS CA - G3B e G3C, più le rispettive otto versioni cross-sign di Sectigo sotto AAA Certificate Services, root ormai esclusa per TLS da Chrome e Mozilla e ancora presente negli archivi di Apple e Microsoft. Sono esposti i client che si fidano ancora di queste catene senza aver ricevuto blocchi o revoche e senza applicare la CT, fra cui i programmi compilati con versioni di Go precedenti alla 1.27.3 e alla 1.26.10. Lato server, i certificati legittimi sotto emSign ECC Root CA - G3 vengono rifiutati da Chrome dal 27 ottobre e progressivamente, anche prima, dai prodotti basati sull'archivio di Mozilla (NSS).
- Azione raccomandata: installare gli aggiornamenti di sistemi operativi, browser e applicazioni, riavviare i dispositivi Android e non ignorare gli avvisi sui certificati non attendibili; verificare che le macchine Windows, comprese quelle isolate o con aggiornamenti automatici disattivati, abbiano ricevuto l'aggiornamento della lista dei certificati attendibili; aggiornare i pacchetti ca-certificates e i runtime alle versioni dell'elenco «Who has patched?» del sito di Dennis Jackson, che cambia di giorno in giorno (fra le altre NSS 3.131.1, Node.js 26.12.1, 24.22.1 e 22.23.4, Python certifi 2026.10.19, Electron 44.9.1, 43.8.1 e 42.11.16, Go 1.27.3 e 1.26.10), ricompilare i programmi Go e ricostruire e ridistribuire applicazioni e immagini container; chiedere ai fornitori di proxy con ispezione TLS e di apparati con archivio statico come escludere le catene compromesse; su macOS, in attesa dell'aggiornamento di Apple, valutare con i responsabili IT la procedura manuale facoltativa descritta da Apple per togliere dal file cert.pem la root emSign ECC Root CA - G3 e, per fermare anche le versioni cross-sign, AAA Certificate Services, ricontrollando il file dopo ogni aggiornamento di sistema, che può ripristinarlo; controllare con le pagine di test dello stesso sito che i client rifiutino le catene compromesse, cross-sign comprese; considerare sospetto qualsiasi file firmato dalle due CA di code signing; per i gestori di siti, individuare i certificati che risalgono a emSign ECC Root CA - G3 e sostituirli prima del 27 ottobre con certificati di un'altra gerarchia, rinnovando a mano e verificando la configurazione se si passa da chiavi ECC a RSA, e scegliere una CA diversa da eMudhra, che lascia il mercato TLS e le cui altre CA sono sotto valutazione da parte di Google.