News

Go blocca le CA eMudhra compromesse: cosa fare per CVE-2026-111943

Go 1.26.10 e 1.27.3 bloccano otto intermedie eMudhra con chiavi deboli. Comando per verificare la versione e impatti su AWS CloudFront/ALB.

Redazione UptimeMag · 2 novembre 2026 · 4 minuti di lettura

Go blocca le CA eMudhra compromesse: cosa fare per CVE-2026-111943

Il problema: chiavi private CA recuperabili senza strumenti specialistici

Il 20 ottobre 2026 il Go Project ha pubblicato CVE-2026-111943: il pacchetto crypto/x509 non bloccava i certificati emessi da otto CA intermedie di eMudhra/emSign le cui chiavi private erano, di fatto, pubbliche. Si tratta di un problema di generazione delle chiavi che ha colpito una Certificate Authority esterna (eMudhra/emSign), le cui chiavi private delle CA intermedie erano recuperabili banalmente per un fallimento catastrofico dell'entropia nella generazione delle chiavi P-384: otto chiavi private di CA intermedie (sei TLS, due per firma del codice) sono state generate con valori scalari di piccoli interi, rendendole matematicamente recuperabili senza strumenti specialistici.

Il CWE di riferimento indicato da Red Hat è CWE-295 (Improper Certificate Validation): il processo di verifica dei certificati non riusciva a bloccare la fiducia nei certificati intermedi associati a una CA compromessa, e un attaccante remoto che presenti un certificato firmato da queste autorità intermedie può impersonare server legittimi durante connessioni sicure, condurre un attacco man-in-the-middle e intercettare o alterare comunicazioni riservate.

Versioni corrette e come verificare

Ramo Go Versioni vulnerabili Versione corretta Data rilascio
Go 1.26 prima di 1.26.10 1.26.10 19 ottobre 2026
Go 1.27 da 1.27.0-0 a prima di 1.27.3 1.27.3 19 ottobre 2026

CVE-2026-111943 interessa Go crypto/x509 nelle versioni precedenti a go1.26.10 e dalla go1.27.0-0 fino a prima di go1.27.3. Le versioni corrette sono go1.26.10 e go1.27.3. Go non controlla la revoca dei certificati di default, quindi su un binario statico il fix arriva solo ricompilando: Go 1.26.10 / 1.27.3 non si fidano più delle otto chiavi di CA intermedie eMudhra in crypto/x509 (CVE-2026-111943, GO-2026-6809), e dato che Go non controlla la revoca, un binario ricompilato è la soluzione.

Per sapere se un server è esposto:

go version

Se la versione installata è inferiore a quelle corrette, va scaricato il tarball aggiornato da go.dev/dl, sostituita la directory /usr/local/go e ricompilati tutti i binari che la usano: aggiornare solo il toolchain sulla macchina di build non basta, serve rigenerare ogni eseguibile statico che la incorpora.

Dopo l'aggiornamento è normale che connessioni verso endpoint con certificati su quelle catene falliscano: dopo l'aggiornamento un client Go può restituire x509: certificate signed by unknown authority o un errore NoValidChains correlato. Non è un bug del client, è il comportamento atteso.

Le tre root coinvolte e l'impatto su AWS

Amazon Linux: i pacchetti golang vengono ricompilati con il crypto/x509 corretto descritto in CVE-2026-111943 come misura di difesa in profondità contro i certificati di CA intermedia eMudhra con chiavi private deboli. Le root da cui discendono le intermedie compromesse, con relativo hash SPKI SHA-256 pubblicato da AWS, sono:

Root CA SPKI SHA-256 (inizio)
AAA Certificate Services bd153ed7b0434f6886b17...
emSign Root TLS CA – G3 c619e4780ed8e0abeda24...
emSign ECC Root CA – G3 8d417db2dd8bf5e3084d1...

Chi usa CloudFront o Application Load Balancer con autenticazione OIDC/JWT deve controllare se il proprio certificato chiude su una di queste root. AWS ha comunicato che Amazon CloudFront sta eseguendo la rimozione della root dal bundle CA dell'edge entro la data obiettivo del 28 ottobre 2026 e che gli ALB con OIDC o JWT vengono aggiornati tra il 29 e il 31 ottobre, con le nuove istanze protette dal 2 novembre: se l'endpoint dell'identity provider presenta un certificato su una di quelle root, va sostituito con uno emesso da una CA affidabile entro il 28 ottobre, come indicato nel bollettino ufficiale.

Cronologia: una patch in 7 ore e mezza

Fonti terze che hanno ricostruito la cronologia dell'incidente riportano che Mozilla ha aggiunto le otto intermedie eMudhra a OneCRL il 17 ottobre, il team sicurezza di Go è stato allertato il 19 ottobre, e Go 1.27.3 e 1.26.10 sono usciti sette ore e mezza dopo con una patch che rifiuta ogni catena che passa per quelle intermedie. È la prima release Go classificata URGENT-track, una procedura diversa dal normale ciclo di preannuncio di alcuni giorni.

USN-8875-1: il bollettino Ubuntu che in italiano non si trova

Per chi lo cerca senza risultati in italiano: USN-8875-1, pubblicato il 6 ottobre 2026, riguarda il kernel Linux su Ubuntu 22.04 LTS e 20.04 LTS. Tra le correzioni, è stato scoperto che il driver clock i.MX nel kernel Linux non gestiva correttamente alcune condizioni di fallimento nell'allocazione di memoria, portando a una vulnerabilità di dereferenziazione di puntatore nullo; un attaccante locale potrebbe usarla per causare un denial of service (system crash) — CVE-2022-3114. Dopo l'aggiornamento standard va riavviato il sistema; essendoci stato un cambio ABI, chi ha moduli kernel di terze parti deve ricompilarli e reinstallarli.

Il giro della settimana

Nei prossimi giorni (2-8 novembre) vanno controllati alle fonti ufficiali: le nuove Ubuntu Security Notices su ubuntu.com/security/notices, i bollettini Wordfence Intelligence e Patchstack sui plugin WordPress più diffusi negli hosting condivisi, e il changelog CloudLinux per OS e CageFS. Non avendo ancora numeri certi al momento di andare in stampa per quel periodo, vale la regola solita: zero CVE o versioni citate a memoria, solo quelle lette sulla pagina del titolare del dato.

Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).