
CVE-2026-31431-CopyFail---Minified-LPE-PoC
⚠️ Disclaimer Solo per scopi didattici e test di sicurezza autorizzati. Questa Proof-of-Concept (PoC) è stata sintetizzata per emulazione Red Team autorizzata e audit delle vulnerabilità. Gli autori e i contributori non si assumono alcuna responsabilità per l'uso improprio di questo codice. Non utilizzare questo exploit contro sistemi che non possiedi o per i quali non disponi di esplicita autorizzazione scritta a testare.
📝 Panoramica CVE-2026-31431 (noto colloquialmente come "Copy Fail") è una vulnerabilità di escalation locale dei privilegi (LPE) nell'API crittografica del kernel Linux (AF_ALG). Combinando un socket AF_ALG con la chiamata di sistema splice(), un utente non privilegiato può costringere il kernel a scrivere byte arbitrari direttamente nella cache delle pagine in memoria di un file di sola lettura. Questa specifica implementazione è fortemente minimizzata (18 righe), il che la rende ideale per operazioni Red Team in cui un attaccante dispone di una shell limitata, non ha capacità di caricamento file e deve digitare manualmente l'exploit tramite la modalità interattiva di python3.
⚙️ Strategia dell'exploit Invece di tentare di iniettare complesso shellcode ELF in un binario setuid (che spesso va in crash a causa di padding e vincoli dell'intestazione), questo script prende di mira /etc/passwd.
🚀 Prerequisiti I moduli crittografici vulnerabili devono essere caricati nel kernel affinché questo exploit funzioni:
sudo modprobe algif_aead authencesn
🎯 Esecuzione e verifica
🧹 Pulizia / Rimedio Questo exploit altera solo la memoria volatile del sistema. Per riportare il sistema al suo stato sicuro e ripristinare la corretta mappatura UID senza riavviare, rimuovi la pagina corrotta dalla cache:
# Must be executed as root
echo 3 > /proc/sys/vm/drop_caches