Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-31431 — Exploit para CVE-2026-31431, una vulnerabilidad de authencesn en el kernel de Linux que permite la escalada local de privilegios a root mediante la manipulación de la caché de páginas. | Kitploit
Herramientas/GitHubGitHub/abdullaabdullazade/cve-2026-31431
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotación
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

Exploit para CVE-2026-31431, una vulnerabilidad de authencesn en el kernel de Linux que permite la escalada local de privilegios a root mediante la manipulación de la caché de páginas.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
13hace 4 mesesAún no revisado

Copy Fail (CVE-2026-31431) - Informe Exhaustivo

1. Resumen de la Vulnerabilidad

  • Nombre de la Vulnerabilidad: Copy Fail
  • Identificador CVE: CVE-2026-31431
  • Descubierto por / Autores: Xint Code Research Team (basándose en la investigación fundacional inicial del investigador de Theori, Taeyang Lee).

"Copy Fail" es una vulnerabilidad lógica crítica en la plantilla criptográfica authencesn del kernel de Linux. Permite que un usuario local sin privilegios active una escritura determinista y controlada de 4 bytes en la caché de páginas de cualquier archivo legible del sistema. Al apuntar a binarios setuid (como /usr/bin/su), un atacante puede editar la caché de ejecución en memoria para escalar privilegios a Root (UID 0).

A diferencia de vulnerabilidades más antiguas como "Dirty Cow" o "Dirty Pipe", Copy Fail es un fallo lógico de línea recta que se activa sin condiciones de carrera, reintentos ni ventanas de sincronización propensas a fallos. Es altamente portátil y sigiloso, ya que solo modifica la caché de páginas en memoria mientras deja el archivo en disco completamente sin cambios, evadiendo las herramientas estándar de monitoreo de integridad de archivos.

2. Análisis de la Causa Raíz

La vulnerabilidad existe en la intersección de tres componentes distintos del kernel:

  1. AF_ALG y AEAD en el lugar: AF_ALG es un tipo de socket que expone el subsistema criptográfico del kernel al espacio de usuario. En 2017, se agregó una optimización para realizar operaciones AEAD en el lugar, lo que significa que el mismo scatterlist sirve tanto como entrada como salida para el algoritmo criptográfico.
  2. La Llamada al Sistema splice(): La llamada al sistema splice() transfiere datos entre descriptores de archivo y tuberías sin copiar, pasando páginas de caché por referencia. Cuando un usuario empalma un archivo (como /usr/bin/su) en un socket AF_ALG, el scatterlist de entrada del socket contiene referencias directas a las páginas cacheadas del kernel de ese archivo.
  3. Escritura Temporal de authencesn: El algoritmo authencesn (utilizado para Números de Secuencia Extendidos de IPsec) requiere reorganizar bytes. Para ello, escribe temporalmente 4 bytes de números de secuencia en el búfer de salida como "espacio temporal". Sin embargo, escribe más allá del límite legítimo de salida.

Debido a la optimización en el lugar de 2017, el scatterlist de salida contiene las páginas de caché de solo lectura pasadas por splice(). Cuando authencesn escribe más allá del límite de salida, sobrescribe directamente 4 bytes dentro de la memoria cacheada del kernel del archivo objetivo.

3. Mecanismo de Explotación

Un atacante puede explotar esto siguiendo estos pasos:

  1. Configuración del Socket: Abrir un socket AF_ALG sin privilegios y vincularlo a authencesn(hmac(sha256),cbc(aes)).
  2. Construir la Escritura: Enviar un sendmsg() manipulado con una carga útil de Datos Autenticados Asociados (AAD) que contenga los 4 bytes que desea escribir.
  3. Empalmar el Objetivo: Usar splice() para canalizar el archivo objetivo (/usr/bin/su) hacia el socket. El desplazamiento y la longitud definen exactamente dónde en la caché de páginas se escribirán los 4 bytes.
  4. Activar el Descifrado: Llamar a recv() activa la operación de descifrado, ejecutando la escritura temporal fuera de los límites directamente en la caché de páginas del archivo objetivo.
  5. Ejecutar: Ejecutar el binario objetivo (por ejemplo, execve("/usr/bin/su")). El kernel ejecuta la versión manipulada de la caché de páginas que contiene el shellcode malicioso inyectado, otorgando acceso root.

4. Mitigación y Remediación

Solución Temporal

Si no es posible parchear o reiniciar el kernel de inmediato, puede mitigar esta vulnerabilidad bloqueando todos los módulos af_alg relacionados y descargándolos de la memoria.

Para bloquear estos módulos, ejecute los siguientes comandos:

root@kitploit:~
# 1. Descargar los módulos de la memoria si están cargados actualmente
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. Agregar los módulos a la lista negra
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. Evitar que el módulo af_alg se cargue por completo
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. Reiniciar el sistema para asegurar que los cambios surtan efecto completo
sudo reboot

Solución Permanente

El equipo de seguridad del kernel de Linux ha parcheado esta vulnerabilidad (Commit: a664bf3d603d). El parche revierte las operaciones AEAD de AF_ALG a un modelo fuera del lugar, separando los scatterlists de origen y destino. Esto evita que las páginas de caché queden expuestas al scatterlist de destino escribible.

Acción Requerida: Actualice el kernel de su distribución a la versión más reciente proporcionada por su proveedor (Ubuntu, Amazon Linux, RHEL, SUSE, etc.) y reinicie su sistema.

Descargar herramienta