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 — PoC en Rust para una vulnerabilidad de escalada local de privilegios en el kernel de Linux, que explota la Crypto API y splice para sobrescribir la caché de páginas y modificar el UID en /etc/passwd para obtener acceso root. | Kitploit
Herramientas/GitHubGitHub/g01d3nw01f/cve-2026-31431
Escalada de PrivilegiosFrameworks de ExploitsExplotaciónExplotación de Binarios
GitHubg01d3nw01f/cve-2026-31431

CVE-2026-31431

PoC en Rust para una vulnerabilidad de escalada local de privilegios en el kernel de Linux, que explota la Crypto API y splice para sobrescribir la caché de páginas y modificar el UID en /etc/passwd para obtener acceso root.

Ver Repositorio
hace 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

PoC de LPE CVE-2026-31431 (Implementación en Rust)

Este proyecto es una Prueba de Concepto (PoC) implementada en Rust para una vulnerabilidad de escalada local de privilegios (LPE) (simulando CVE-2026-31431). Demuestra cómo manipular la caché de páginas del kernel de Linux explotando la Crypto API.[cite: 1, 2]

[!CAUTION] Este código es únicamente para fines educativos y de investigación ética en seguridad. El uso no autorizado de esta herramienta contra sistemas sin consentimiento previo explícito es ilegal. El autor no asume ninguna responsabilidad por el mal uso o los daños causados por este programa.

Descripción general

La herramienta explota una vulnerabilidad relacionada con AF_ALG (interfaz criptográfica del kernel) y la llamada al sistema splice.[cite: 2] Permite a un usuario sin privilegios sobrescribir 4 bytes de la caché de páginas de un archivo de solo lectura, apuntando específicamente al campo UID en /etc/passwd para cambiarlo temporalmente a 0000 (root).[cite: 1, 2]

Cómo funciona

  • Identificación del objetivo: El programa analiza main.rs para encontrar el desplazamiento exacto del archivo donde se encuentra el UID del usuario actual dentro de /etc/passwd.[cite: 1, 2]
  • Calentamiento de la caché de páginas: Lee el archivo objetivo para asegurarse de que la página relevante se cargue en la caché de páginas del kernel.[cite: 2]
  • Manipulación de memoria:
    • Inicializa un socket usando AF_ALG con el algoritmo authesn(hmac(sha256),cbc(aes)).[cite: 2]
    • Al configurar cuidadosamente los parámetros de setsockopt y usar splice, redirige los datos del archivo a través de la canalización criptográfica.[cite: 2]
    • La vulnerabilidad permite que el proceso de "descifrado" sobrescriba los datos originales de la caché de páginas con los 4 bytes deseados (0000).[cite: 2]
  • Escalada de privilegios:
    • Si se proporciona la bandera --shell, ejecuta su <usuario>, que tiene éxito porque el sistema ahora ve el UID del usuario como 0 en el /etc/passwd almacenado en caché.[cite: 1]
    • De lo contrario, expulsa la caché de páginas corrupta usando POSIX_FADV_DONTNEED para restaurar la integridad del sistema.[cite: 1]

Requisitos previos

  • SO: Linux (específicamente versiones vulnerables a este comportamiento de la Crypto API).
  • Lenguaje: Rust (Edición 2024).[cite: 3]
  • Dependencias: libc y nix (con las características fs, socket, zerocopy y user).[cite: 3]

Uso

Compilación

root@kitploit:~
cargo build --release

Ejecución

Probar el parcheo de la caché de páginas sin abrir un shell:

root@kitploit:~
./target/release/cve-2026-31431

Intentar escalar a un shell root:

root@kitploit:~
./target/release/cve-2026-31431 --shell

Estructura del proyecto

  • main.rs: Orquesta el ataque, maneja los argumentos de la línea de comandos y ejecuta el comando final del shell.[cite: 1]
  • modules.rs: Contiene la lógica principal de explotación, incluida la manipulación del socket AF_ALG y la búsqueda del desplazamiento del UID.[cite: 2]
  • Cargo.toml: Define los metadatos del proyecto y las dependencias de crates externas.[cite: 3]

Referencias técnicas

  • Archivos involucrados: main.rs, modules.rs, Cargo.toml[cite: 1, 2, 3]
  • Llamadas al sistema clave: socket, bind, sendmsg, splice, posix_fadvise.[cite: 1, 2]
Descargar herramienta