
Script di mitigazione senza riavvio per il bug del kernel Copy Fail (CVE-2026-31431). Disabilita il modulo vulnerabile algif_aead ed espelle la cache delle pagine per i binari setuid.
Helper di mitigazione minimale senza riavvio per Copy Fail / CVE-2026-31431.
Questo script disabilita il percorso del modulo vulnerabile algif_aead e tenta di
scaricare il modulo immediatamente. Esegue inoltre un tentativo di espulsione della page cache
per /usr/bin/su.
Questa è una mitigazione, non una correzione del kernel. Installa il kernel corretto del tuo fornitore appena disponibile.
Lo script esegue la mitigazione raccomandata dall'avviso pubblico Copy Fail:
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true
Questo impedisce che algif_aead venga caricato nuovamente tramite modprobe e lo scarica
dal kernel in esecuzione se possibile.
Esegue poi un piccolo snippet Python che chiama posix_fadvise() con
POSIX_FADV_DONTNEED per la prima pagina di :
/usr/bin/suos.posix_fadvise(fd, 0, page, os.POSIX_FADV_DONTNEED)
Questo è un tentativo di espulsione della pagina rilevante dalla page cache. Non sostituisce la correzione e non garantisce la pulizia di ogni possibile binario setuid preso di mira.
/usr/bin/su?La proof-of-concept pubblica di Copy Fail prende di mira /usr/bin/su per impostazione predefinita. Questo
script tenta quindi di eliminare la prima pagina di /usr/bin/su dalla page cache
dopo aver disabilitato il percorso del modulo vulnerabile.
Se il tuo ambiente ha testato o sospetta uno sfruttamento contro un altro binario setuid, rivedi e adatta lo script di conseguenza.
Rivedi prima lo script.
sudo ./mitigate-copy-fail.sh
Controlla che il modulo non sia caricato:
lsmod | grep '^algif_aead' || echo "algif_aead is not loaded"
Controlla che la regola modprobe esista:
cat /etc/modprobe.d/disable-algif.conf
Output previsto:
install algif_aead /bin/false
Prova a caricare il modulo manualmente:
sudo modprobe algif_aead
Dovrebbe fallire o rifiutarsi di caricarsi.
Annulla solo dopo aver installato un kernel corretto o dopo aver accettato il rischio.
sudo rm -f /etc/modprobe.d/disable-algif.conf
sudo modprobe algif_aead
Questo script non:
Per carichi di lavoro non fidati come container, sandbox, runner CI e host multi-utente,
considera un hardening aggiuntivo come il blocco della creazione di socket AF_ALG
con seccomp.