
PoC de escalada de privilegios local para un use-after-free de SCTP ASCONF DEL-IP del kernel de Linux, que demuestra una shell root desde un usuario local sin privilegios en kernels afectados.
Repositorio de distribución de HackSpeak. El PoC original proviene del repositorio comunitario (upstream): github.com/ethanolgolf/CVE-2026-64564 — este repositorio es un espejo para facilitar la distribución mediante «respuesta en segundo plano»; el código es idéntico al upstream.
⚠️ El upstream no incluye LICENSE ni información del autor; este PoC es código comunitario público y no ha sido verificado en hardware real — visite primero el repositorio upstream para comprobar la última versión y cualquier aclaración posterior, y luego decida si usarlo; el espejo sigue la convención de distribución con MIT License, Copyright (c) 2026 HackSpeak, y los derechos de autor del código pertenecen al autor original. Pruebe en un entorno desechable y no lo use contra sistemas no autorizados.
Un Use-After-Free causado por un desajuste de identidad en la lógica de procesamiento de DEL-IP de la reconfiguración dinámica de direcciones (ASCONF) del subsistema SCTP del kernel de Linux: el kernel valida la solicitud de eliminación con la dirección de origen del paquete, pero actúa sobre el transport seleccionado por el Address Parameter de ASCONF; al construir la secuencia [Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0], se consigue que, tras liberar el transport, la association conserve punteros colgantes (primary_path / active_path), y una operación posterior del socket desencadene el UAF.
42e30bf3463c, alrededor de 2008), unos 18 años9b2854f86f0b; kernels estables 7.1.6 / 6.18.42 / 6.12.101 / 6.6.148 (publicados el 2026-08-03)net.sctp.addip_enable y net.sctp.addip_noauth_enable (en versiones recientes se puede omitir mediante opciones per-socket)gcc -O2 -static -o lpe lpe_debian.6.12.95.c
./lpe
Forma de verificación en caso de éxito: leer /etc/shadow o escribir el archivo marcador /root/SCTP_LPE_SUCCESS.
UAF #1 es reciclado por pg_vec de PACKET_TX_RING → fuga de páginas del direct-map → lectura repetible de 4 bytes del kernel → recuperación de KASLR mediante el mapeo fijo de IDT → UAF #2 es reciclado por datos controlados de authentication-key de SCTP → grafo de objetos del kernel controlado → commit_creds() orientado a datos → root global → variante usermode-helper → escape de contenedor al host.
9b2854f86f0b (net/sctp/sm_make_chunk.c)