
Script Python per verificare se un sistema Linux è vulnerabile alla falla CVE-2026-31431 (Copy Fail), un'elevazione di privilegi locale nel kernel Linux.
Script Python per verificare se un sistema Linux è vulnerabile alla falla CVE-2026-31431 (Copy Fail), un'elevazione di privilegi locale nel kernel Linux.
Dal 2017 (commit 72548b093ee3), il modulo crittografico algif_aead del kernel gestisce le operazioni in place in modo errato. Tramite splice(), un utente non privilegiato può corrompere la page cache di un binario setuid e ottenere i diritti di root senza toccare il disco.
| # | Verifica |
|---|---|
| 1 | Versione del kernel (intervallo vulnerabile) |
| 2 | Modulo algif_aead caricato o caricabile |
| 3 | Socket AF_ALG SOCK_SEQPACKET accessibile senza privilegi |
| 4 | os.splice() disponibile (exploit Python diretto) |
| 5 | Binari setuid leggibili da tutti (sudo, passwd...) |
| 6 | Protezioni attive (SELinux, AppArmor, blacklist modprobe) |
python3 check_cve_2026_31431.py
Nessuna dipendenza esterna. Funziona senza root.
Questo script si limita ad analizzare il sistema. Non sfrutta la falla, non carica alcun modulo e non scrive nulla sul disco.
echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/algif_aead-block.conf
Questa contromisura non funziona sulle distribuzioni RHEL (modulo integrato nel kernel).