Una grave vulnerabilità nel kernel Linux, identificata come CVE-2026-31431 e soprannominata “Copy Fail”, è stata resa pubblica. Il bug consente a un utente locale non privilegiato di ottenere accesso root su praticamente tutte le distribuzioni Linux moderne.
La falla risiede nel modulo crittografico algif_aead, introdotto nel 2017 a seguito di un’ottimizzazione “in-place” progettata per migliorare le prestazioni. La vulnerabilità, rilevata nella gestione della memoria, è però rimasta inosservata per circa nove anni.
A differenza di molte vulnerabilità di privilege escalation, Copy Fail non richiede condizioni complesse: niente race condition, leak di indirizzi o configurazioni specifiche. Si tratta di un errore logico sfruttabile in modo affidabile e ripetibile su sistemi Linux mainstream. È sufficiente un normale account utente per eseguire un exploit estremamente compatto (anche meno di 1 KB di codice) che interagisce con l’interfaccia crittografica del kernel (AF_ALG).
L’attacco consente di scrivere dati controllati nella page cache, la copia in memoria dei file utilizzata da Linux per velocizzare l’accesso al disco. Questo permette di alterare temporaneamente binari privilegiati (come /usr/bin/su) senza modificare il file su disco. Di conseguenza, quando il programma viene eseguito, può concedere accesso root all’attaccante.
Un aspetto particolarmente insidioso è che la corruzione avviene esclusivamente in memoria:
- il file su disco rimane intatto e verificabile tramite hash.
- il sistema di writeback del kernel non segnala modifiche.
- gli strumenti di sicurezza basati sul filesystem non rilevano l’attacco.
Inoltre, i container non offrono protezione: la page cache è condivisa a livello di host, quindi un processo compromesso all’interno di un container può attaccare l’intero sistema e altri tenant.
Molti ambienti di hosting web risultano particolarmente esposti, inclusi ambienti con cPanel, Plesk o DirectAdmin, e applicazioni che consentono esecuzione di codice (ad esempio tramite shell_exec()).
Come verificare se il sistema è vulnerabile
La soluzione definitiva è aggiornare il kernel a una versione che includa la patch ufficiale, che rimuove l’ottimizzazione “in-place” e ripristina una gestione sicura separando input e output in memoria. Per verificare il sistema:
- controllare la versione del kernel (
uname -r). - verificare la presenza del modulo algif_aead.
- assicurarsi che la patch sia stata applicata.
Se l’aggiornamento non è possibile, è consigliato disabilitare il modulo vulnerabile:
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true
Nei sistemi che eseguono codice non fidato (container, CI, sandbox), è fortemente raccomandato bloccare completamente l’accesso all’interfaccia AF_ALG, anche dopo l’applicazione della patch, poiché raramente necessaria in scenari legittimi.

