Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-31431 — # Exploit de escalada de privilegios local en el kernel de Linux para CVE-2026-31431, que proporciona un PoC fiable de un solo disparo con múltiples implementaciones en varios lenguajes, escáner de vulnerabilidades y script de mitigación. | Kitploit
Herramientas/GitHubGitHub/nisec-eric/cve-2026-31431
Escalada de PrivilegiosSeguridad de ContenedoresFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad en la NubeAprendizaje y EducaciónRed TeamingExplotación de Binarios
GitHub
229hace 5 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
nisec-eric/cve-2026-31431

cve-2026-31431

# Exploit de escalada de privilegios local en el kernel de Linux para CVE-2026-31431, que proporciona un PoC fiable de un solo disparo con múltiples implementaciones en varios lenguajes, escáner de vulnerabilidades y script de mitigación.

Ver Repositorio

CVE-2026-31431 — Repositorio de Investigación "Copy Fail"

Severity: High CVSS: 7.8 CVE Release License: MIT

Una escalada de privilegios local en Linux 100% fiable que afecta a todas las distribuciones principales desde 2017.

Un único error lógico en authencesn, encadenado a través de AF_ALG y splice() en una escritura de 4 bytes en la caché de páginas — explotable silenciosamente durante casi una década.

⚠️ Aviso Legal

Todo el código y la documentación de este repositorio se proporcionan exclusivamente para investigación de seguridad autorizada y fines educativos.

Ejecutar código de exploit contra sistemas que no posees o para los que no tienes autorización escrita explícita para probar es ilegal. Al usar este repositorio, aceptas toda la responsabilidad por tus acciones.


Resumen

CampoDetalle
CVECVE-2026-31431
AliasCopy Fail
TipoEscalada de privilegios local en el kernel de Linux (LPE) / escritura arbitraria en caché de páginas
CVSS v3.17.8 ALTO — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-669 (Transferencia incorrecta de recursos entre esferas)
Componentecrypto/algif_aead — plantilla criptográfica authencesn
Introducido2017 (commit 72548b093ee3)
CorregidoCommit principal a664bf3d603d (2026-04-01)
Kernel parcheadov6.18.22+, v6.19.12+, v7.0+
DescubridorXint / Theori (Taeyang Lee + auditoría asistida por IA Xint Code)
Divulgación2026-04-29 — copy.fail

Por qué Copy Fail es diferente

LPE típico en LinuxCopy Fail
Condición de carreraRequeridaNinguna
Offset por distribuciónRequeridosNinguno
Fiabilidad30–80%100%, un solo intento
Ventana afectadaEstrecha2017 → 2026 (9 años)
Modificación en discoPosibleNinguna (sigiloso)
Cruce de contenedoresNoSí

Estructura del Repositorio

.
├── README.md                          ← Estás aquí
├── LICENSE                            ← MIT
├── .gitignore
├── docs/
│   ├── analysis-report.md             ← Análisis de seguridad exhaustivo
│   ├── analysis-report.html           ← Versión HTML con estilos
│   ├── exploit-walkthrough.md         ← Análisis del PoC línea por línea
│   └── exploit-walkthrough.html       ← Versión HTML con estilos
└── poc/
    ├── README.md                      ← Guía de uso del PoC
    ├── copy_fail_exp.py               ← PoC oficial (732 bytes, ofuscado)
    ├── copy_fail_exp_readable.py      ← Versión desofuscada + anotada
    ├── copy_fail_exp_compat.py        ← Compatible con Python 3.6+ (splice con ctypes)
    ├── copy_fail_exp_alpine.py        ← Variante para Alpine Linux
    ├── copy_fail_exp.c                ← Implementación en C (cero dependencias)
    ├── copy_fail_exp.go               ← Implementación en Go (cero dependencias)
    ├── copy_fail_rust/                ← Implementación en Rust
    │   ├── Cargo.toml
    │   └── src/main.rs
    ├── check_vulnerable.py            ← Escáner de vulnerabilidad
    └── mitigate.sh                    ← Script de mitigación con un clic

Inicio Rápido

Descargar la versión precompilada

# Desde GitHub Releases — binarios precompilados (Linux amd64/arm64) + todos los scripts de Python
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-go-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-c-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-python.tar.gz

tar xzf copy-fail-go-linux.tar.gz
tar xzf copy-fail-c-linux.tar.gz
tar xzf copy-fail-python.tar.gz

# Binario estático en Go (no necesita Python)
chmod +x copy-fail-exp-amd64
./copy-fail-exp-amd64

# Binario estático en C
chmod +x copy-fail-exp-c-amd64
./copy-fail-exp-c-amd64

# O usa los scripts de Python directamente
python3 check_vulnerable.py

📦 Las versiones se compilan automáticamente mediante GitHub Actions en cada push de etiqueta v*. Los binarios de Go y C se compilan para linux/amd64 y linux/arm64 como binarios estáticos.

1. Comprueba si tu sistema es vulnerable

python3 poc/check_vulnerable.py

2. Aplica la mitigación (sin necesidad de reiniciar)

sudo bash poc/mitigate.sh

Esto bloquea el módulo del kernel algif_aead — no rompe nada en el 99% de los sistemas.

3. Parchea correctamente — actualiza tu kernel

# Debian/Ubuntu
sudo apt update && sudo apt upgrade linux-image-*

# RHEL/CentOS/Fedora
sudo dnf update kernel

# Reinicia con el kernel parcheado
sudo reboot

4. Verifica

python3 poc/check_vulnerable.py
# Código de salida 1 = protegido ✓

Exploits PoC

ADVERTENCIA: Ejecuta solo en sistemas que poseas o para los que tengas autorización para probar.

ArchivoLenguajeRequisitosNotas
copy_fail_exp.pyPython 3.10+solo stdlibPoC oficial de 732 bytes
copy_fail_exp_compat.pyPython 3.6+stdlib + ctypesFunciona en CentOS 7, AL2, etc.
copy_fail_exp_alpine.pyPython 3.10+solo stdlibApunta a /bin/ping en Alpine
copy_fail_exp.cCgcc + cabeceras de LinuxBinario estático, cero dependencias
copy_fail_exp.goGo 1.21+solo stdlibBinario estático, cero dependencias
copy_fail_rust/Rust 1.70+crates libc + flate2Binario estático
# C
gcc -static -o exp ./poc/copy_fail_exp.c && ./exp

# Python
python3 poc/copy_fail_exp.py
python3 poc/copy_fail_exp_compat.py        # Python < 3.10

# Go
go build -o exp ./poc/copy_fail_exp.go && ./exp

# Rust
cd poc/copy_fail_rust && cargo run --release

Todas las versiones aceptan un argumento opcional para apuntar a un binario SUID diferente:

python3 poc/copy_fail_exp.py /usr/bin/passwd
./exp /usr/bin/sudo

Documentación

📄 Informe de Análisis de Seguridad (HTML)

Evaluación completa de la vulnerabilidad que cubre:

  • Causa raíz técnica (procedencia de páginas scatterlist, escritura temporal de authencesn)
  • Versiones afectadas y estado del parche por distribución
  • Remediación para Linux en hardware físico, Kubernetes, Docker, WSL2
  • Guía de detección y monitorización (auditd, SELinux, integridad de archivos)
  • Cronología de divulgación

📄 Análisis del Exploit (HTML)

Análisis del PoC línea por línea que cubre:

  • Código fuente desofuscado completo con anotaciones
  • Internals del kernel: flujo de sockets AF_ALG, entrega a caché de páginas con splice(), mecánica de sg_chain()
  • La escritura temporal ESN de authencesn que cruza los límites del scatterlist
  • Análisis del payload (shellcode ELF de 160 bytes)
  • Variantes de ataque: inyección en /etc/passwd, apuntado a bibliotecas compartidas, escape de contenedores
  • Limitaciones y fronteras del ataque

Impacto por Entorno

Descargar herramienta