
Exploit de escalada de privilegios local dirigido a un error de conteo de referencias de io_uring AF_VSOCK en el kernel de Linux, que utiliza la manipulación de la caché de páginas para sobrescribir /usr/bin/su y obtener una shell de root. Pensado para investigación y pruebas de seguridad autorizadas.
Imagen de distribución de HackSpeak. Este repositorio es un espejo de distribución de MaherAzzouzi/vsockdrop, con el código idéntico al upstream; el upstream no incluye LICENSE, por lo que este espejo adopta, según la convención de distribución, la MIT License, Copyright (c) 2026 HackSpeak. Los derechos de autor del código fuente pertenecen al autor original, MaherAzzouzi.
⚠️ Contiene un exploit completo de escalada local de privilegios (LPE): modifica el page-cache de
/usr/bin/su(posiblemente persistente en disco en sistemas de archivos CoW). Solo para investigación de seguridad, verificación de vulnerabilidades y pruebas autorizadas. Debe ejecutarse únicamente en entornos aislados que poseas o para los que tengas autorización explícita. No lo utilices contra sistemas no autorizados.
VsockDrop (CVE-2026-53365) es una vulnerabilidad de manejo incorrecto del contador de referencias en la ruta de envío zero-copy de io_uring (AF_VSOCK) del kernel de Linux, que puede provocar una escalada local de privilegios (LPE) sin privilegios.
io_uring usa SKBFL_MANAGED_FRAG_REFS pero la ruta de vsock no respeta esa marca → __skb_frag_unref() llama a put_page() sobre una página gestionada (managed page) → un put_page() adicional por cada envío, lo que decrementa directamente el contador de pinning;SEND_ZC, el refcount = 1 + 1024 se agota hasta 0 → la página aún fijada (pinned) se libera a la freelist de PCP;pread en frío de la página 0 de /usr/bin/su recupera el PFN recién liberado desde la freelist LIFO → esa página queda aliasada por el fixed buffer de io_uring y por el page-cache de su;write_fixed/read_fixed para sobrescribir la cadena PT_INTERP en la página de su con la ruta al loader del atacante;exec("/usr/bin/su") (setuid-root) → el kernel mapea el loader del atacante como intérprete → se obtienen credenciales de root → shell de root.make
./exploit
⚠️ Operación peligrosa: el exploit modifica el contenido de /usr/bin/su en el page-cache; en sistemas de archivos CoW (como Btrfs, ZFS), esta modificación puede persistir en disco. Ejecútalo únicamente en entornos aislados y desechables.