Il 26 ottobre 2026 Apple ha pubblicato macOS Golden Gate 27.2, ma per chi sviluppa sul Mac manca ancora una correzione: quella per i certificati eMudhra compromessi. Safari li rifiuta dal 19 ottobre, git e curl di sistema li accettano ancora [1]. Anzi, secondo due fonti del 28 ottobre, l’aggiornamento ha annullato la correzione fatta a mano [5] [7].
Che cosa vuol dire, in pratica, per un clone di un repository lanciato dal Wi-Fi di un albergo? Basti pensare che chiunque si trovi sul percorso di rete tra te e GitHub può farsi passare per GitHub e consegnarti codice scelto da lui [5].
Proviamo a vederlo con calma: che cosa è successo, perché tocca solo alcuni strumenti e che cosa ha detto Apple fino al 29 ottobre 2026.
In breve:
Al 29 ottobre 2026 git, curl e python3 forniti con macOS si fidano ancora dei certificati eMudhra compromessi, mentre Safari, Mail e le app native li bloccano (Apple, pagina del 23 ottobre, invariata il 29). Se li usi per connessioni HTTPS sei esposto: puoi aspettare l’aggiornamento promesso, senza data, o seguire la procedura di Apple, che richiede un account amministratore.
- 19 e 23 ottobre 2026: Apple blocca i 12 certificati compromessi e poi la radice emSign ECC Root CA – G3, ma solo per Safari, Mail e le app native.
- 23 ottobre 2026: Apple pubblica la pagina di supporto 149555, con una procedura manuale per chi amministra un Mac.
- 26 ottobre 2026: macOS 27.2 non corregge il problema e, secondo una prova del 28 ottobre, rimette le due radici in /etc/ssl/cert.pem.
Il 29 ottobre 2026 Apple ha cambiato la data della pagina 149555, ma il testo è rimasto lo stesso: promette ancora un aggiornamento, senza data.
Che cosa è successo ai certificati eMudhra?
Sono state compromesse le chiavi private di otto CA intermedie di eMudhra, scrive Apple [1]. eMudhra è un’autorità di certificazione (Certificate Authority, CA): con la sua firma garantisce che un certificato TLS, quello delle connessioni HTTPS, appartiene davvero a un sito.
Una CA intermedia sta tra il certificato radice, di cui i sistemi si fidano a priori, e i certificati dei siti. Due delle otto firmano codice, le altre sei certificati TLS. Con le chiavi di queste sei, secondo Apple, si possono creare certificati che sembrano validi per qualunque sito [1].
I certificati coinvolti sono 12. Sei portano alla radice emSign ECC Root CA – G3; gli altri sei, con una firma incrociata di Sectigo, alla radice AAA Certificate Services. eMudhra e Sectigo li hanno revocati [1].
Secondo Dennis Jackson e gli altri autori di emudhra.we-have-a-problem.com, le chiavi erano generate male e si potevano ricavare dai certificati stessi fin da aprile 2025 [4]. Se qualcuno le abbia sfruttate, non si sa: MacRumors, il 25 ottobre 2026, riporta che non ci sono prove di un uso malevolo [8].
Perché Safari è protetto e git e curl no?
Perché non leggono lo stesso elenco di certificati. Safari, Mail e le app che usano i framework di rete e di sicurezza di Apple ricevono il blocco in automatico, senza installare niente: i 12 certificati dal 19 ottobre 2026, la radice emSign dal 23 [1].
Gli strumenti curl, git, python3, ruby, perl e openssl forniti con macOS o con gli Xcode Command Line Tools usano invece /etc/ssl/cert.pem, un file di testo con i certificati radice in fila. Per i certificati che portano a una radice presente lì, scrive Apple, non controllano né il blocco né la revoca [1].
C’è poi una seconda differenza. La maggior parte dei browser vuole ogni certificato nei registri pubblici di Certificate Transparency (CT), curl no [4]. E nei registri, per queste CA intermedie, non era comparso nessun certificato dall’aprile 2025, quando le chiavi hanno cominciato a essere ricavabili [4].
Per questo, secondo gli stessi autori, Firefox, Chrome, Edge e Safari non potevano essere attaccati, mentre per i programmi fuori dal browser non si sa [4].
Perché macOS 27.2 ha rimesso le due radici nel file?
Perché un aggiornamento di macOS può sostituire /etc/ssl/cert.pem con la versione di Apple, che contiene ancora le due radici. Lo scrive Apple stessa: chi le ha tolte a mano deve ripetere il controllo indicato nella pagina 149555 dopo ogni aggiornamento, finché non arriva quello con la correzione [1].
Nelle note di sicurezza di macOS Golden Gate 27.2, uscito il 26 ottobre 2026, di eMudhra non c’è traccia [3]. Il sito giapponese AAPL Ch. ha aggiornato a 27.2 una macchina virtuale con macOS 27.0: dopo l’installazione le due radici erano tornate nel file [7].
Lo stesso è successo con macOS Tahoe 26.7.2, uscito lo stesso giorno [2]. Nell’issue #157 su GitHub, aperta il 27 ottobre 2026, un Mac aggiornato da 26.7.1 a 26.7.2 è passato da 126 a 128 certificati. E il curl di sistema ha ricominciato ad accettare i siti di test che usano certificati delle CA compromesse [4] [6].
L’autore dell’issue ha trovato le due radici anche nella copia di riferimento del file che macOS 26.7.2 tiene tra i suoi modelli di sistema. La sua ipotesi, presentata come tale, è che l’aggiornamento ricrei il file da lì invece di modificarlo [6].
Che cosa rischia chi sviluppa su Mac?
Serve una condizione precisa: qualcuno deve trovarsi sul percorso di rete e usare un certificato firmato da una delle CA compromesse. In quella posizione, si legge sul sito di Dennis Jackson e degli altri autori, può intercettare le connessioni HTTPS degli strumenti forniti da Apple [5].
Per git vuol dire che un clone o un pull da un indirizzo HTTPS può consegnare codice scelto da chi attacca. Un push può essere modificato strada facendo, e credenziali come i token di GitHub possono essere intercettate. Lo stesso vale per curl e python3 [5].
Pensa a uno script di installazione scaricato con curl dalla rete di una conferenza: se il certificato falso passa, lo script che arriva può essere un altro.
Il quadro, però, va tenuto in proporzione. I principali browser, come detto, non erano attaccabili [4], e chi usa il Mac solo con Safari e le app native, scrive Apple, non deve fare niente [1]. Le app che portano un elenco di certificati tutto loro, come quelle basate su Electron, vanno invece tenute aggiornate [4].
Il discorso riguarda chi lavora nel Terminale e chi gestisce runner macOS per l’integrazione continua (CI). Per questi ultimi, il sito dei ricercatori invita a valutare il rischio per la catena di fornitura del software [5].
Che cosa dice Apple e che cosa fare nel frattempo?
Apple scrive che la correzione arriverà con un futuro aggiornamento di macOS e che non servirà modificare file [1]. Una data non c’è: lo notava anche MacRumors il 25 ottobre 2026 [8]. Al 29 ottobre 2026 l’ultima versione di macOS elencata da Apple resta la 27.2 [2].
Chi non vuole aspettare trova nella pagina di supporto 149555 la procedura ufficiale per togliere le due radici dal file [1]. Serve un account amministratore e va ripetuta dopo ogni aggiornamento, finché non esce quello con la correzione.
Se il Mac è aziendale, la scelta spetta a chi lo gestisce: Apple prevede che i comandi si possano distribuire con la gestione centralizzata dei dispositivi (MDM) [1].
La procedura ha un prezzo, e lo indica Apple: senza le due radici, gli strumenti che usano solo quel file potrebbero non verificare più alcuni siti legittimi, quelli che passano da CA intermedie non compromesse [1]. Se un pull che funzionava comincia a dare errori di certificato, il motivo può essere questo.
In alternativa alla procedura, c’è chi fa usare a git e curl l’elenco di certificati di Homebrew, che esclude le stesse due radici [6] [9]: il file di sistema resta intatto, ma gli stessi siti legittimi possono dare errore.
E gli altri programmi, da Node.js a Linux?
Dipende da quale elenco di certificati usano. Chi porta un elenco tutto suo segue la sua versione, non quella di macOS: al 28 ottobre 2026 risultano corretti, tra gli altri, Node.js 26.12.1, 24.22.1 e 22.23.4 e il pacchetto certifi 2026.10.19 per Python [4].
Se installi la beta di TypeScript 7.1 con npm, come nel mio articolo, conta la versione di Node.js che hai sul Mac.
Per le app basate su Electron, come Slack e Discord, la correzione arriva solo con un aggiornamento dell’app a una versione costruita su un Electron corretto [4]. Go, invece, sul Mac usa la verifica di sistema dalla versione 1.18, quando il programma non indica radici sue [10].
Su Linux le principali distribuzioni hanno già aggiornato il pacchetto ca-certificates [4]. Su una scheda come la Radxa ROCK 5B della mia guida sull’avvio da SSD NVMe basta aggiornare il pacchetto della sua distribuzione.
Non resta che vedere quanto tempo passerà prima dell’aggiornamento promesso da Apple. Fino ad allora, per chi usa git e curl sul Mac, la pagina 149555 resta il riferimento da riaprire dopo ogni aggiornamento di macOS.
Domande frequenti
Devo fare qualcosa se sul Mac non uso il Terminale?
No. Apple scrive che Safari, Mail e le app che usano i suoi framework bloccano i certificati compromessi in automatico dal 19 ottobre 2026. Il problema riguarda gli strumenti da riga di comando forniti con macOS, come git, curl e python3, e le app che portano un elenco di certificati tutto loro, che vanno tenute aggiornate.
Che cosa devo fare se uso git o curl sul Mac?
Per ora, o aspetti l’aggiornamento di Apple o segui la procedura della pagina 149555, da ripetere dopo ogni aggiornamento. Sui Mac aziendali decide chi li gestisce. Un’alternativa è un bundle di certificati, cioè un file separato con l’elenco delle radici fidate, come quello di Homebrew: esclude le stesse due radici, quindi resta il rischio sui siti legittimi segnalato da Apple.
Aggiornare macOS risolve già il problema dei certificati eMudhra?
Non ancora. Al 29 ottobre 2026 l’ultima versione è macOS Golden Gate 27.2, del 26 ottobre, e la pagina di Apple parla ancora di un aggiornamento futuro. Secondo le prove del 27 e del 28 ottobre, 26.7.2 e 27.2 hanno anzi rimesso le due radici nel file. Quando la correzione arriverà, secondo Apple non servirà modificare file.
Che cos’è una CA intermedia, e che cosa vuol dire che è compromessa?
È un’autorità di certificazione che sta tra il certificato radice e i siti, e firma i certificati di questi ultimi. Se la sua chiave privata è compromessa, chi la possiede può firmare un certificato che sembra valido per qualunque sito. Secondo Apple è successo a otto CA intermedie di eMudhra, sei delle quali firmano certificati TLS.
Fonti
- Apple, “About the compromised eMudhra intermediate CAs” (Apple Support 149555), 23 ottobre 2026, aggiornata il 29 ottobre 2026, consultato il 29 ottobre 2026 – https://support.apple.com/en-us/149555
- Apple, “Apple security releases” (Apple Support 100100), aggiornata il 26 ottobre 2026, consultato il 29 ottobre 2026 – https://support.apple.com/en-us/100100
- Apple, “About the security content of macOS Golden Gate 27.2” (Apple Support 149521), 26 ottobre 2026 – https://support.apple.com/en-us/149521
- Dennis Jackson e collaboratori, “eMudhra Intermediate CA Compromise”, 20 ottobre 2026, aggiornata il 28 ottobre 2026, consultato il 29 ottobre 2026 – https://emudhra.we-have-a-problem.com/
- Dennis Jackson e collaboratori, “Apple’s git still trusts the compromised eMudhra certificates”, 28 ottobre 2026 – https://emudhra.we-have-a-problem.com/apple.html
- Issue #157 nel repository galadran/we-have-a-problem.com su GitHub, “macOS 26.7.2 (26 Oct) restores /etc/ssl/cert.pem with both roots; the workaround must be re-applied after every update”, aperta il 27 ottobre 2026, commenti fino al 28 ottobre 2026 – https://github.com/galadran/we-have-a-problem.com/issues/157
- AAPL Ch., articolo su macOS 27.2 e il ripristino di /etc/ssl/cert.pem (in giapponese), 28 ottobre 2026 – https://applech2.com/archives/20261028-macos-updates-may-restore-emudhra-root-ca-certificates.html
- MacRumors (Joe Rossignol), “Apple Addresses Web Security Threat, Working on macOS Update With Additional Fix”, 25 ottobre 2026 – https://www.macrumors.com/2026/10/25/apple-blocks-compromised-emudhra-certificates/
- Homebrew, formula ca-certificates (versione stabile 2026-10-20; esclusione delle radici AAA Certificate Services ed emSign G3), consultata il 29 ottobre 2026 – https://formulae.brew.sh/formula/ca-certificates e https://github.com/Homebrew/homebrew-core/blob/main/Formula/c/ca-certificates.rb
- Go, “Go 1.18 Release Notes”, sezione crypto/x509, consultata il 29 ottobre 2026 – https://go.dev/doc/go1.18
Leave a Reply