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, un fallo de authencesn en el kernel de Linux que permite la escalada local de privilegios y la fuga de contenedores mediante una escritura de 4 bytes en la caché de páginas. | Kitploit
Herramientas/GitHubGitHub/luotian2/cve-2026-31431
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónAprendizaje y EducaciónEscape de ContenedoresExplotación de Binarios
GitHubluotian2/cve-2026-31431

CVE-2026-31431

Exploit para CVE-2026-31431, un fallo de authencesn en el kernel de Linux que permite la escalada local de privilegios y la fuga de contenedores mediante una escritura de 4 bytes en la caché de páginas.

Ver Repositorio
22hace 3 mesesAún no revisado

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

CVE-2026-31431 — Copy Fail

中文版

732 bytes para root en todas las principales distribuciones de Linux

CVE-2026-31431 (Copy Fail) es un error lógico en la plantilla criptográfica authencesn del kernel de Linux. Permite que un usuario local sin privilegios provoque una escritura determinista y controlada de 4 bytes en la caché de páginas de cualquier archivo legible del sistema.

Resumen

  • ID de CVE: CVE-2026-31431
  • Tipo: Escalada de privilegios local / Escape de contenedor
  • Afecta: Kernels de Linux con CONFIG_CRYPTO_AUTHENC (prácticamente todas las principales distribuciones desde 2017)
  • Descubierto por: Xint Code Research Team, con la idea inicial del investigador de Theori, Taeyang Lee

Cómo funciona

El error encadena dos comportamientos:

  1. AF_ALG + splice: splice() transfiere páginas de la caché de páginas por referencia al scatterlist de un socket AF_ALG. Para el modo de descifrado AEAD in-place, las páginas de etiqueta (de la caché de páginas del archivo objetivo) permanecen encadenadas al scatterlist de salida mediante sg_chain().

  2. Escritura scratch de authencesn: crypto_authenc_esn_decrypt() usa dst[assoclen + cryptlen] (más allá de la etiqueta, dentro de las páginas de la caché de páginas) como espacio scratch para la reorganización del número de secuencia ESN, escribiendo 4 bytes controlados por el atacante y nunca restaurándolos.

La página corrupta nunca se marca como sucia, por lo que el archivo en disco permanece sin cambios. Pero la caché de páginas en memoria es lo que realmente se lee, lo que hace que la corrupción sea inmediatamente visible en todo el sistema.

Exploit

El exploit corrompe la caché de páginas de /usr/bin/su (o cualquier binario setuid) con un pequeño payload de shellcode, 4 bytes a la vez. Después de todas las iteraciones, ejecutar su ejecuta el payload y otorga una shell root.

Python (exp.py)


Requiere Python 3.10+ (para `os.splice`). Usa únicamente módulos de la biblioteca estándar.
root@kitploit:~
python3 exp.py

C (exp.c)


Sin dependencia de Python. Compila y ejecuta:
root@kitploit:~
gcc -o exp exp.c
./exp

Impacto

CapacidadDetalles

Referencias

  • copy.fail — Aviso oficial
  • Blog de Xint — Copy Fail: 732 bytes para root
  • Entrada de NVD

Aviso legal

Este repositorio se publica únicamente con fines educativos y de investigación defensiva. No utilice este código en sistemas que no sean de su propiedad o para los que no tenga permiso explícito de prueba.

Descargar herramienta
Portátil
El mismo script funciona en Ubuntu, Amazon Linux, RHEL, SUSE y más — sin offsets específicos por distribución
DiminutoEl exploit en Python tiene ~732 bytes
SigilosoEvita la ruta de escritura de VFS; la página nunca se marca como sucia; las sumas de verificación en disco no cambian
Entre contenedoresLa caché de páginas se comparte entre contenedores — vector de escape de contenedor (ver Parte 2)