
Implementación en C de una prueba de concepto para CVE-2026-31431, una vulnerabilidad de envenenamiento de caché de páginas AF_ALG del kernel de Linux que permite la escalada local de privilegios y un posible escape de contenedores mediante la contaminación de archivos SUID.
PoC en C para CVE-2026-31431, explotable en entornos objetivo sin Python instalado.
Tipo de vulnerabilidad: envenenamiento de caché de páginas en el subsistema AF_ALG del kernel de Linux, que permite la escalada local de privilegios y un posible escape de contenedores mediante la contaminación del contenido de archivos SUID.
Versiones del kernel afectadas: Linux kernel 5.15 ~ 6.1.x (algunas versiones inferiores o superiores también pueden verse afectadas, dependiendo de las opciones de compilación relacionadas con AF_ALG).
Condiciones de explotación:
El kernel está compilado con CONFIG_CRYPTO_USER_API_AEAD y admite algoritmos AEAD (como authenc(hmac(sha256),cbc(aes))), o el módulo correspondiente está cargado.
El atacante dispone de una cuenta local de bajos privilegios y puede ejecutar código arbitrario (por ejemplo, subir un ELF compilado estáticamente).
El sistema de archivos de destino admite la llamada al sistema splice.
Puedes subir directamente el archivo copy_fail a la máquina objetivo y ejecutarlo, o compilar el archivo copy_fail.c por tu cuenta.
Se recomienda la compilación estática (para evitar dependencias de la versión de glibc): gcc -static -o copy_fail copy_fail.c
./copy_fail
Este código se basa en el PoC oficial en Python y ha sido reescrito.
Este código se proporciona únicamente con fines de investigación de seguridad, educación y pruebas autorizadas legalmente. Está estrictamente prohibido su uso para ataques ilegales. El usuario asume toda la responsabilidad legal derivada de su uso.