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 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
GitHubnisec-eric/cve-2026-31431
2hace 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

# 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

Por qué Copy Fail es diferente


Estructura del Repositorio

root@kitploit:~
.
├── 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

root@kitploit:~
# 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

root@kitploit:~
python3 poc/check_vulnerable.py

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

root@kitploit:~
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

root@kitploit:~
# 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

root@kitploit:~
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.

root@kitploit:~
# 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:

root@kitploit:~
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


Referencias Clave

  • copy.fail — Página oficial de la vulnerabilidad
  • Blog de Xint — Informe Técnico — Análisis profundo de la causa raíz
  • Entrada NVD
  • Aviso de GitHub GHSA-2274-3hgr-wxv6
  • Parche del Kernel (commit a664bf3d603d)
  • Repositorio Oficial del PoC
  • Aviso de Red Hat | Ubuntu | SUSE | Amazon Linux

Contribuciones

Las contribuciones son bienvenidas:

  • Implementaciones adicionales del PoC (Zig, etc.)
  • Resultados de pruebas específicas por distribución
  • Reglas de detección (Snort, Suricata, YARA, Sigma)
  • Traducciones de la documentación

Abre un issue o una pull request.

Licencia

MIT — Úsalo con responsabilidad.

Descargar herramienta
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
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í
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
EntornoRiesgoPor qué
Hosts Linux multiinquilino🔴 AltoCualquier usuario → root
Kubernetes / contenedores🔴 AltoCaché de páginas compartida → escape de contenedor
Ejecutores CI (autoalojados)🔴 AltoPR malicioso → root del ejecutor
SaaS en la nube (código de usuario)🔴 AltoInquilino → root del host
Servidores estándar🟡 MedioSe encadena con RCE web / credenciales robadas
Portátiles de un solo usuario🟢 BajoYa es el único usuario