⚠️ IMPORTANTE - Un'intelligenza artificiale ha scovato uno zero-day nel kernel Linux che ottiene i permessi di root su ogni distribuzione dal 2017. L'exploit occupa appena 732 byte di codice Python. Aggiornate il kernel dei vostri sistemi il prima possibile.
La vulnerabilità è la CVE-2026-31431, soprannominata “Copy Fail", resa nota oggi da Theori. È rimasta silente nel kernel Linux per nove anni.
La maggior parte dei bug di "privilege escalation" su Linux sono complessi: richiedono finestre temporali precise (le cosiddette "race condition"), leak di indirizzi di memoria specifici o una calibrazione meticolosa per ogni singola distribuzione. Copy Fail non ha bisogno di nulla di tutto ciò. Si tratta di un errore logico lineare che funziona al primo colpo, ogni volta, su ogni macchina Linux comune.
Come funziona l'attacco
All'attaccante basta un normale account utente sulla macchina. Da lì, lo script chiede al kernel di eseguire alcune operazioni di crittografia, sfrutta un errore nel modo in cui queste operazioni sono collegate e finisce per scrivere 4 byte in un'area di memoria chiamata "page cache" (la copia ad alta velocità dei file che Linux mantiene nella RAM). Quei 4 byte possono essere mirati a qualsiasi programma di cui il sistema si fidi, come ad esempio /usr/bin/su, la scorciatoia per diventare utente root.
Risultato: la prossima volta che qualcuno avvia quel programma, l'attaccante ottiene l'accesso come root.
L’aspetto più preoccupante
La corruzione della memoria non tocca mai il file su disco. Esiste solo nella copia in RAM gestita da Linux. Se si analizzasse l'immagine del disco rigido in seguito, il file risulterebbe identico all'originale (il codice hash coinciderebbe perfettamente). Riavviando la macchina, o semplicemente mettendola sotto sforzo (qualsiasi carico di sistema che richieda RAM), la copia in cache viene ricaricata pulita dal disco.
Anche i container sono inutili: la page cache è condivisa tra l'intero host, quindi un processo all'interno di un container può usare questo bug per compromettere il server sottostante e accedere agli altri utenti (tenant).
L’origine del bug
Il "peccato originale" risale a un'ottimizzazione del 2017 in un modulo crittografico del kernel chiamato algif_aead. Era stata pensata per rendere la crittografia leggermente più veloce, ma il cambiamento ha infranto un presupposto di sicurezza critico e nessuno se n'è accorto per nove anni. Quel bug è stato poi ereditato da ogni aggiornamento del kernel dal 2017 a oggi.
Sistemi a rischio:
• Server (macchine di sviluppo, jump host, server di build): qualsiasi utente diventa root.
• Cluster Kubernetes e container: un pod compromesso evade verso l'host.
• CI runner (GitHub Actions, GitLab, Jenkins): una pull request malevola diventa root sul runner.
• Piattaforme Cloud che eseguono codice utente (notebook, sandbox, funzioni serverless): un utente diventa root dell'host.
Cronologia degli eventi
• 23 marzo 2026: segnalazione al team di sicurezza del kernel Linux.
• 1 aprile: patch inserita nel ramo principale (commit a664bf3d603d).
• 22 aprile: assegnazione del codice CVE.
• 29 aprile: divulgazione pubblica.
Mitigazione
Aggiornate dei vostri sistemiil kernel a una versione che includa il commit a664bf3d603d. Se non potete applicare la patch immediatamente, disabilitate il modulo vulnerabile:
Per gli ambienti che eseguono codice non fidato (container, sandbox, CI runner), è consigliabile bloccare interamente l'accesso all'interfaccia crittografica AF_ALG del kernel, anche dopo aver applicato la patch. Quasi nessun processo legittimo ne ha bisogno, e bloccarla chiude definitivamente la porta a questa intera classe di bug.
Maggiori info: copy.fail/