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-43499-poc — Arma de prueba de concepto para CVE-2026-43499 (GhostLock), un fallo de rtmutex en el kernel de Linux que permite la escalada local de privilegios. Incluye cadenas de explotación por distribución, documentación técnica y pruebas de fiabilidad. | Kitploit
Herramientas/GitHubGitHub/lkeld/cve-2026-43499-poc
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónExplotación de Binarios
GitHublkeld/cve-2026-43499-poc

CVE-2026-43499-poc

Arma de prueba de concepto para CVE-2026-43499 (GhostLock), un fallo de rtmutex en el kernel de Linux que permite la escalada local de privilegios. Incluye cadenas de explotación por distribución, documentación técnica y pruebas de fiabilidad.

Ver Repositorio
hace 12h 9mAú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

Investigación de armamento para CVE-2026-43499 (ghostlock). el bug de la ruta proxy remove_water() de rtmutex que deja el pi_blocked_on de una tarea colgando en su propio marco de pila del kernel reventado. La clase de bug y la estrategia de exploit original son crédito de nebusec (su write-up aquí) todo lo demás en este repo es mi propio trabajo por distribución:

cada familia de kernel necesita primitivas materialmente diferentes y eso es lo que hace esto tan interesante.

El disparador de Ghostlock es completamente no privilegiado (tres futexes, dos hilos y sin namespaces). El proceso de convertir el puntero colgante en root es donde cada una de las distros diverge, esto se reduce a la geometría del marco, las mitigaciones, y lo que "bytes controlados en una dirección de kernel conocida" incluso significan, todo cambia. Este repo recopilará cadenas por familia objetivo.

cadenas

ObjetivoCadenaStagingEstado
RHEL/CentOS 7 — 3.10.0-1160.102.1.el7el7/ — página de alias physmap + pintor auxv + caminata sched_setschedulerroot-en-namespace (contenedor privilegiado)funcionando, prueba de estrés 40/40 en arranques limpios
RHEL/CentOS 7 — 3.10.0-693.el7misma cadena, geometría de marco medidaigualcomponentes validados 10/10; solo pendiente una prueba de estrés

consulta el WRITEUP.md de cada subdirectorio para el análisis técnico completo, la causa raíz, por qué la cadena estándar de la era 6.x no se transfiere, los hallazgos de primitivas, lo que construí en su lugar, las geometrías de marco medidas y los datos relacionados con la fiabilidad.

la forma general de cada cadena

cadena de exploit futex PI

donde las cosas se complican: la caminata valida el ->lock del waiter falsificado contra el lock que encontró a través de (BUG_ON(w->lock != lock) en 3.10), así que necesitas estructuras falsas en memoria direccionable por el kernel en una dirección que conocerías. esto es lo que difiere enormemente por kernel (el truco del área de entrada de CPU de la era 6.x que utilizó nebusec, no existe en 3.10, el7 aleatoriza el mapa base directo, etc.). Cada write-up documenta su propia respuesta.

requisitos previos - lee esto

el bug y el disparador: no necesitas privilegios, ni user namespaces, nada. cualquier usuario local funciona.

cada armamento declara su propio staging en su write-up. La cadena el7 se escenifica desde root-en-namespace (en la práctica: cualquier RCE en un contenedor privilegiado - esto se validó desde una instancia de MYSQL a través de su ruta de plugin UDF, que es una posición muy típica). El trabajo del lado del kernel después del staging usa solo:

  • /proc/self/pagemap con PFNs reales (in-ns CAP_SYS_ADMIN)
  • /proc/kcore (in-ns CAP_SYS_RAWIO en el7)
  • /proc/kallsyms sin enmascarar (kptr_restrict=0 o CAP_SYSLOG)

Ninguno de esos es la vulnerabilidad en sí, son solo las conveniencias de staging que sustituyen a las filtraciones de información que aún no he construido. En el7 específicamente, una cadena completamente no privilegiada está bloqueada por razones estructurales (el BUG_ON de 3.10, sin CEA, sin par de lock falso estático en el .data del kernel, gating de PFN de pagemap) El write-up de el7 tiene el análisis completo y las direcciones de investigación, principalmente una primitiva de filtración de información de dirección de cabeza

notas de seguridad

  • Cada cadena aquí se prueba contra bancos de trabajo coincidentes exactos con KASLR y aleatorización de región de memoria habilitadas bajo estrés aleatorio (arranques frescos, temporización con jitter, colocación de páginas aleatorizada).
  • Donde una cadena podría perder su carrera, aborta antes de tocar el kernel en lugar de caminar un waiter medio falsificado. En hosts con panic_on_oops=1, una caminata incorrecta causará un pánico y resultará en una máquina muerta, así que trátalo como un ajuste parte de tu modelo de amenazas al probar
  • No ejecutes esto en ningún host que no poseas o para el que no estés autorizado a probar :)

estructura

root@kitploit:~
el7/
  WRITEUP.md        write-up técnico completo para la cadena el7
  ghostlock_el7.c   poc de un solo archivo para ambos kernels probados

referencias

  • NebuSec, IonStack part II: GhostLock — https://nebusec.ai/research/ionstack-part-2/
  • Fix: 3bfdc63936dd ("rtmutex: Use waiter::task instead of current in remove_waiter()"); seguimiento de NPD 40a25d59e85b
  • Rango afectado: v2.6.39-rc1 → v7.1-rc1 (cada distro desde 2011)
Descargar herramienta