
Prueba de concepto de exploit para el CVE-2026-31431 del kernel de Linux (Copy Fail) que abusa de AF_ALG para corromper binarios setuid-root en la caché de páginas, logrando escalada de privilegios. Incluye copia de seguridad/restauración y verificación de integridad.
Una reproducción de exploit de prueba de concepto de la vulnerabilidad del kernel de Linux CVE-2026-31431, también conocida como Copy Fail.
Créditos a: Copy Fail
/usr/bin/su)git clone https://github.com/MohamedKarrab/Copy-Fail-CVE-2026-31431.git
cd Copy-Fail-CVE-2026-31431
# apunta a /usr/bin/su por defecto
python fail.py
# o cualquier setuid-root (passwd, mount, chsh, sudo, pkexec...)
python fail.py /usr/bin/passwd
En caso de fallo de explotación, el binario objetivo puede no restaurarse a su estado original. Soluciónalo mediante:
Simplemente reinicia el dispositivo. Un reinicio limpia la caché de páginas (el exploit no modifica el binario en disco).
Alternativamente, restaura un /usr/bin/su limpio (o el binario seleccionado) desde un paquete de confianza.
Debian / Ubuntu:
sudo apt-get install --reinstall util-linux
Fedora / RHEL:
sudo dnf reinstall util-linux
Arch:
sudo pacman -S util-linux
Este exploit abusa de una implementación AEAD de AF_ALG para escribir fragmentos arbitrarios de 4 bytes en la caché de páginas del kernel de /usr/bin/su (un binario setuid-root).
sendmsg/splice manipulados para inyectar datos en el procesamiento AES-CBC-HMAC.text en memoria de /usr/bin/su sin tocar el discoFinalmente, ejecutar /usr/bin/su carga la caché de páginas envenenada, ejecutando código inyectado como root debido a setuid.
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead 2>/dev/null