
Proof-of-concept exploit per CVE-2026-31431, un'escalation locale dei privilegi su Linux tramite un bug logico in authencesn, con variante ARM64 per la validazione autorizzata in laboratorio.
Copy Fail è un'escalation dei privilegi locale su Linux pubblicata da Theori/Xint come
CVE-2026-31431. La pagina del progetto descrive un bug logico in
authescesn che può essere raggiunto tramite AF_ALG e splice(), producendo una
piccola scrittura nella page cache contro un binario setuid. Sui sistemi interessati, un
utente locale non privilegiato può diventare root.
Questo repository mantiene una copia del proof of concept upstream e aggiunge una variante ARM64 testata su Ubuntu 25.10 ARM.

| File | Scopo |
|---|---|
copy_fail_exp.py | PoC upstream originale, con l'URL della sorgente indicato nell'intestazione del file. |
copy_fail_exp_arm64.py | PoC adattato per ARM64, testato e funzionante su Ubuntu 25.10 ARM. |
Questi script sono destinati esclusivamente alla validazione autorizzata in sistemi lab monouso. Non
sono scanner di vulnerabilità generici. Tentano il percorso di sfruttamento di Copy Fail contro
/usr/bin/su; se l'host è vulnerabile e l'ambiente è compatibile, il risultato è una vera shell root.
⚡ Usa il PoC originale per validare il percorso di exploit pubblico su sistemi Linux compatibili. Usa la variante ARM64 per testare host Linux basati su ARM dove il payload incorporato differisce dallo script upstream.
Un'esecuzione fallita non dimostra che un host sia patchato. La versione del kernel, i backport della distribuzione, l'architettura, l'hardening locale, la policy dei container e l'ambiente runtime possono tutti influenzare il comportamento.
Prima la patch. Secondo copy.fail, i sistemi dovrebbero aggiornare
a un kernel della distribuzione che includa il commit mainline a664bf3d603d, quindi
riavviare con quel kernel e verificare la versione in esecuzione.
Finché il kernel non può essere patchato, disabilita il modulo algif_aead:
sudo sh -c 'printf "%s\n" "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf'
sudo rmmod algif_aead 2>/dev/null || true
Per carichi di lavoro non fidati come container, runner CI, sandbox e host di sviluppo
condivisi, blocca anche la creazione di socket AF_ALG con una policy seccomp.
Le indicazioni di mitigazione di copy.fail notano che disabilitare algif_aead non
dovrebbe influenzare l'uso tipico di dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL/GnuTLS/NSS, SSH o
crypto del keyring del kernel. Potrebbe influenzare software esplicitamente configurato per usare
socket AF_ALG.