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-43494-PinTheft-PoC — Prueba de concepto para CVE-2026-43494 (PinTheft): escalada de privilegios local (LPE) en Linux mediante el bug de refcount de RDS zerocopy + búferes fijos de io_uring → sobrescritura de page-cache SUID. Solo investigación autorizada. | Kitploit
Herramientas/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

Prueba de concepto para CVE-2026-43494 (PinTheft): escalada de privilegios local (LPE) en Linux mediante el bug de refcount de RDS zerocopy + búferes fijos de io_uring → sobrescritura de page-cache SUID. Solo investigación autorizada.

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
8hace 2 mesesAún no revisado

SLEY — PoC de PinTheft (CVE-2026-43494)

SLEY PoC — de uid 1000 a root en WSL2

Prueba de concepto — uid=1000(raken) → uid=0(root) después de ./sley en WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

Prueba de concepto de un solo archivo para CVE-2026-43494 (PinTheft): una escalada local de privilegios en el kernel de Linux que encadena un bug de conteo de referencias en RDS zerocopy con búferes fijos de io_uring para sobrescribir la caché de páginas de un binario SUID de root.

Aviso legal: Este repositorio es solo para investigación de seguridad autorizada, educación y pruebas defensivas. Ejecutarlo contra sistemas que no posees o para los que no tienes permiso explícito de pruebas es ilegal y poco ético. Los autores no asumen ninguna responsabilidad por el mal uso.


Resumen

La investigación pública original y el PoC fueron publicados por el equipo V12 Security (Aaron Esau). SLEY es una reimplementación independiente y compacta con una interfaz de terminal estilizada para uso en laboratorio y aprendizaje.


Cómo funciona

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. Reconocimiento — Fijar a la CPU 0, localizar un binario SUID legible (su, mount, passwd, …).
  2. Configuración de io_uring — Registrar la página anónima como búfer fijo (sesgo FOLL_PIN ≈ 1024).
  3. Robo de pin — Inundar con envíos zerocopy RDS fallidos; cada fallo puede soltar una referencia adicional en la primera página fijada.
  4. Recuperación y sobrescritura — Desmapear libera la página; reabrir el objetivo SUID compite con la recuperación de la caché de páginas; los metadatos obsoletos del búfer fijo permiten escribir un pequeño stub ELF x86_64 en la caché.
  5. Escalada de privilegios — execve del binario SUID ejecuta el stub inyectado como root.

Requisitos

Kernel / configuración

  • Kernel Linux vulnerable (sin parche) con el bug de RDS presente
  • CONFIG_RDS=y y CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y y kernel.io_uring_disabled = 0
  • Módulos rds / rds_tcp cargados (o autocargables por usuarios no privilegiados)
  • Kernel ≥ 6.13 para la API IORING_REGISTER_CLONE_BUFFERS utilizada por la cadena pública
  • x86_64 para el payload ELF de shell integrado en este PoC

Herramientas de compilación

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# or equivalent headers package on your distro

Permisos

  • Un usuario local no privilegiado es suficiente en un host vulnerable (ese es el modelo de amenaza)
  • No ejecutar en sistemas de producción

Comprobar exposición (solo lectura)

root@kitploit:~
# Patched? (example — adjust for your distro)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS available?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring enabled?
cat /proc/sys/kernel/io_uring_disabled  # expect 0

Compilación

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

Enlace estático (opcional, para imágenes de laboratorio mínimas):

root@kitploit:~
gcc -O2 -static -o sley sley.c

Uso

root@kitploit:~
./sley

Toda la salida de estado va a stderr (interfaz ANSI de 256 colores, barra de progreso, registro por fases). Asegúrate de que tu terminal soporta UTF-8 y truecolor/256 colores para la interfaz de recuadros.

Ejemplo de fases:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

Resultado esperado (host vulnerable)

En una configuración explotada con éxito, la cadena se completa y entrega el control al binario SUID descubierto con la primera página sobrescrita, lo que produce una shell de root si la condición de carrera y el estado del kernel se alinean.

En kernels parcheados, hosts endurecidos o ausencia de RDS/io_uring, el PoC fallará temprano (sin objetivo SUID, errores de mmap/io_uring/socket, etc.).


Mitigación

Los avisos de seguridad específicos de cada distribución pueden incluir parches retroportados; sigue la cola de seguridad del kernel de tu proveedor.


Estructura del proyecto

root@kitploit:~
.
├── README.md              # This file
├── proof-of-concept.jpg   # Screenshot: successful LPE (uid 1000 → root)
├── sley.c                 # Single-file PoC + terminal UI
└── .gitignore

Referencias

  • NVD — CVE-2026-43494
  • oss-security — PinTheft discussion
  • Kernel fix commit

Legal

Este software se proporciona tal cual para investigación y educación. Eres responsable de cumplir con las leyes aplicables y de obtener autorización por escrito antes de probar cualquier sistema que no poseas.


Licencia

MIT — consulta el archivo de licencia del repositorio si se añade. Úsalo de forma responsable.

Descargar herramienta
ElementoDetalle
CVECVE-2026-43494
Nombre públicoPinTheft
Componentenet/rds — ruta de envío zerocopy (rds_message_zcopy_from_user)
PrimitivaDoble put_page() cuando falla el pin de la página → robar referencias FOLL_PIN
ArmadoBúfer fijo de io_uring + zerocopy RDS fallido → escritura UAF en la caché de páginas
ImpactoRoot local en configuraciones vulnerables
Corrección oficiale17492979319
AcciónNotas
Parchear el kernelAplicar la corrección estable que contiene el commit e17492979319
Deshabilitar RDSmodprobe -r rds_tcp rds (y bloquear la autocarga) si no es necesario
Restringir io_uringkernel.io_uring_disabled=1 o 2 mediante sysctl
Mínimo privilegioEliminar binarios SUID innecesarios; usar contenedores con perfiles endurecidos
MonitoreoAlertar ante ráfagas de fallos de zerocopy RDS + patrones de registro de búferes de io_uring