Le exploit del kernel Linux diventano pubbliche: la patch per bloccare il root locale
Il codice di exploit funzionante per quattro vulnerabilità del kernel Linux, ognuna delle quali consente a un utente locale di prendere il controllo completo di una macchina, è stato pubblicato dal ricercatore che le ha scoperte. Tutte e quattro sono bug di sicurezza della memoria nella parte del sistema che gestisce il traffico di rete, e ciascuna consente a qualcuno che ha già un piccolo livello di accesso, ad esempio un account con privilegi limitati su un server condiviso, di elevarsi a root, che è il livello di accesso più alto su una macchina Linux. Il kernel è il programma centrale di un computer Linux: si trova tra l'hardware e tutto il resto e decide chi è autorizzato a fare cosa. Il ricercatore, Asim Manizada, ha segnalato le falle al team di sicurezza del kernel Linux a metà luglio e ha pubblicato il suo resoconto tecnico insieme agli exploit funzionanti il 18 settembre, dopo un periodo di attesa coordinato con le distribuzioni Linux in modo che le correzioni potessero essere rilasciate prima. I manutentori del kernel hanno corretto tutte e quattro nelle ultime settimane, quindi un sistema che esegue un kernel aggiornato non è interessato. Finora non ci sono segnalazioni di utilizzo delle quattro vulnerabilità in attacchi reali.
Gli exploit sono opera di Manizada, sono ottimizzati per specifiche build del kernel e possono mandare in crash una macchina, quindi sono pensati per sistemi di test isolati piuttosto che per sistemi in produzione. Anche così, la pubblicazione del codice di exploit aumenta il rischio sui sistemi condivisi. L'escalation locale dei privilegi, il nome tecnico per passare da un account limitato al controllo completo, è più rilevante dove un attaccante ha già un certo accesso, come un account con privilegi limitati su un server multiutente, e vuole prendere il controllo dell'intera macchina. Qualsiasi macchina che esegue ancora un kernel più vecchio dovrebbe essere aggiornata.
Le quattro falle sono state chiamate DirtyAH6, TUNderflow, PPPoEject e DiagSpill. DirtyAH6 è tracciata come CVE-2026-80844 e risiede nel codice IPsec che gestisce l'Authentication Header di IPv6, dove IPsec è un insieme di regole per cifrare e verificare il traffico di rete e IPv6 è la versione attuale del sistema di indirizzamento di Internet. TUNderflow è CVE-2026-81000 e si trova nei dispositivi di rete virtuale TUN e TAP, che sono versioni software di una scheda di rete. PPPoEject è CVE-2026-68121 e si trova nel codice per PPP over Ethernet, un modo di trasportare una connessione Internet su un cavo di rete che molti fornitori di banda larga usano ancora. DiagSpill è CVE-2026-74469 e si trova nel codice di segnalazione per SCTP, un protocollo di rete usato per il traffico di segnalazione in stile telefonico. Tre delle quattro possono essere raggiunte da un utente normale solo quando i namespace utente non privilegiati sono abilitati. I namespace utente sono una funzionalità di Linux che consente a un utente normale di agire come root all'interno di una sandbox privata. Molte distribuzioni li abilitano per impostazione predefinita, ed è così che un attaccante ottiene i privilegi di rete richiesti dagli exploit. La quarta falla, DiagSpill, è l'eccezione: non richiede namespace utente né privilegi speciali, purché il sistema abbia disponibile il modulo di rete SCTP.
Manizada ha anche scoperto che due delle falle, DirtyAH6 e DiagSpill, possono essere attivate tramite la rete, ma solo in casi limitati e principalmente per causare il crash del sistema piuttosto che per assumerne il controllo. DirtyAH6 può mandare in crash un host che funge da router o gateway IPv6 e aggiunge un Authentication Header IPsec in modalità transport. DiagSpill può mandare in crash un host solo quando alcune opzioni SCTP, disattivate per impostazione predefinita, sono attivate. Manizada ha raggiunto il root remoto con DirtyAH6 solo nel suo laboratorio, e solo modellando prima la memoria sul target. Farlo da una posizione remota da solo, ha scritto, "sembra estremamente difficile", anche se non lo ha escluso. Per DiagSpill, ha detto di non vedere alcun percorso verso il root remoto, nemmeno con una perfetta modellazione della memoria. Ha anche detto che le falle potrebbero, in teoria, consentire a un attaccante di uscire da un container, il compartimento isolato usato per eseguire un'applicazione separatamente dal resto di un server, ma non ha creato un simile exploit.
La soluzione è aggiornare a un kernel che contenga tutte e quattro le correzioni. Le prime versioni stabili del kernel con il set completo sono 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 e 7.2.4. Questi sono numeri di versione del progetto principale del kernel Linux. La maggior parte delle persone esegue un kernel fornito da una distribuzione, come Debian, Ubuntu, Red Hat o SUSE, che usa i propri numeri di versione e aggiunge queste correzioni secondo il proprio calendario, quindi i numeri sopra non sono quelli da cercare su quei sistemi. Controlla l'avviso di sicurezza della tua distribuzione per confermare che abbia rilasciato un aggiornamento che include tutte e quattro. Se l'applicazione della patch non è possibile subito, due passaggi riducono il rischio. Il primo è disattivare i namespace utente non privilegiati, che chiude il percorso dell'utente normale verso DirtyAH6, TUNderflow e PPPoEject, ma non ferma DiagSpill e non ferma un container o un processo che ha già privilegi di amministrazione di rete. Il secondo è disattivare le funzionalità interessate, AH6, TUN/TAP, PPPoE e SCTP, se non le usi. Manizada raccomanda di applicare la patch piuttosto che disattivare le funzionalità, perché potrebbero esistere altri percorsi verso le stesse falle.
Tutte e quattro sono bug di sicurezza della memoria in diverse parti del codice di rete del kernel. Ognuna consente a un attaccante di corrompere la memoria del kernel, che Manizada ha poi usato per ottenere una shell di root. Gli errori di fondo sono vecchi, da 10 a 21 anni nel codice. DirtyAH6 è nel codice IPsec che gestisce l'Authentication Header di IPv6: quel codice si fidava di un campo dell'header di routing senza verificarlo rispetto al numero di indirizzi presenti, quindi un pacchetto craftato causava uno spostamento di un puntatore interno ben oltre i limiti e una scrittura oltre il buffer. TUNderflow è nei dispositivi di rete virtuale TUN e TAP: un singolo valore veniva usato sia come spazio libero che come dimensione, e un valore troppo grande passato attraverso Open vSwitch causava un overflow nel calcolo della dimensione, così i dati del pacchetto finivano fuori dal loro buffer. PPPoEject è nel codice per PPP over Ethernet: manteneva un puntatore in un buffer di rete mentre chiamava una routine del dispositivo che poteva liberare e spostare quel buffer, e le scritture successive usavano memoria liberata, un bug noto come use-after-free. DiagSpill è nel codice di segnalazione per SCTP: un contatore che tiene traccia degli endpoint di connessione è largo solo 16 bit, quindi il 65.536° endpoint lo riportava a zero, e il codice di segnalazione non riservava spazio ma copiava l'intera lista, scrivendo circa 8 MiB di dati oltre la fine del suo buffer.
Manizada ha detto di aver trovato le quattro falle con un processo assistito dall'IA che costruisce una mappa di come il kernel gestisce la memoria e ragiona sulla sua disposizione. La correzione del kernel per DirtyAH6 lo registra: il commit include una riga "Assisted-by" che accredita il suo strumento IA personalizzato. La divulgazione è l'ultima di una serie di falle di escalation dei privilegi del kernel Linux rese pubbliche nel 2026, diverse delle quali trovate con l'aiuto di modelli linguistici di grandi dimensioni. Manizada ha divulgato una simile falla di Open vSwitch, OVSwrap, a luglio. Uno dei nuovi exploit riutilizza anche una tecnica di Dirty Frag, un'altra falla di root del kernel Linux divulgata a maggio da un altro ricercatore. Nel suo resoconto, Manizada ha detto che questo lotto probabilmente conclude la fase pubblica della sua caccia ai bug assistita dall'IA.
Per chiunque gestisca un sito web o un server aziendale, la domanda pratica è semplice: quale macchina esegue quale kernel, e quando è stato aggiornato l'ultima volta? I lettori che preferiscono non tenere traccia da soli degli avvisi del kernel potrebbero trovare utile che AEU Hosting (albhosting.eu) è un servizio di hosting WordPress gestito, progettato in modo che il lato server del servizio, non solo il sito web, sia responsabilità del provider di hosting mantenerlo. Se affitti il tuo server o il tuo piano di hosting da qualcun altro, chiedi al provider quando la patch per queste quattro falle è arrivata sulle tue macchine, e non accettare un numero di versione che proviene da un progetto diverso da quello che il tuo server esegue effettivamente.