
Kit de herramientas para el use-after-free de TCP en Linux CVE-2026-98432: comprobaciones de parches del kernel, activación del oráculo de condiciones de carrera, análisis de UAF en pcap, recuperación del desplazamiento de KASLR y endurecimiento de nftables.

Solo para uso ético – Pruebas de seguridad autorizadas
Este repositorio proporciona herramientas únicamente para profesionales de seguridad autorizados, equipos defensivos (blue teams) y pentesters. El acceso no autorizado a sistemas informáticos es ilegal según la CFAA (EE. UU.), la Computer Misuse Act (Reino Unido), el TCK 243/244 (Turquía) y leyes similares en todo el mundo.

CVE-2026-98432 es un use-after-free en la pila TCP IPv4 del kernel de Linux. Un SYN entrante que transporta opciones IPv4 hace que el kernel guarde una copia de esas opciones en el socket de petición. Si el SYN se retransmite en el momento adecuado, una CPU puede liberar esa copia mientras otra todavía la está leyendo para construir el SYN-ACK, lo que provoca un use-after-free en ip_options_build().
Existe un segundo desencadenante cuando el servidor migra peticiones de conexión pendientes entre sockets (net.ipv4.tcp_migrate_req=1, o un programa BPF_SK_REUSEPORT_SELECT_OR_MIGRATE). Ambos desencadenantes comparten la misma causa raíz: inet_sock_destruct() y tcp_v4_reqsk_destructor() liberan las opciones con un simple kfree() en lugar de esperar un periodo de gracia de RCU.
tcp_v4_save_options() almacena las opciones IPv4 entrantes (ireq_opt) en el socket de petición.tcp_v4_syn_recv_sock() entrega ireq_opt al socket hijo sin copiarlo.inet_sock_destruct() libera inet_opt con un simple kfree().tcp_v4_send_synack() → ip_options_build(), que lee las opciones ya liberadas.La corrección upstream es el commit e3f33b0a1d89 ("ipv4: free inet_opt and ireq_opt after an RCU grace period"), que convierte ambas liberaciones a kfree_rcu(). IPv6 no se ve afectado por el problema principal.
5.15.0-xxx con los números upstream. Consulte el rastreador de seguridad propio del proveedor.| Fecha | Observación | Fuente |
|---|---|---|
| 2026-11-04 | Ubuntu 22.04 LTS (y versiones posteriores) todavía tiene la corrección solo en -proposed; los usuarios estándar de -updates permanecen en un kernel vulnerable hasta que la corrección se promueva. MPTCP está habilitado por defecto en las versiones afectadas, aunque el fallo no es específico de MPTCP. | Ubuntu CVE Tracker · Ubuntu Blog – Fixes in -proposed |
| 2026-11-02 | AWS confirma que la vulnerabilidad afecta al kernel de Linux 4.4+ y que los blueprints de Lightsail basados en Ubuntu están dentro del alcance; la mitigación consiste en instalar un kernel parcheado o aplicar una regla de firewall temporal que descarte paquetes TCP IPv4 con opciones IP. | AWS Docs – Address CVE-2026-98432 on Lightsail |
| 2026-10-15 | Anuncio oficial del CVE del kernel: la causa raíz es la falta del período de gracia de RCU antes de kfree() de inet_opt / ireq_opt; corregido en 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10, 7.3-rc7. | Linux CVE Announce – Openwall |
Nota: Estas observaciones confirman la exposición (kernel vulnerable + MPTCP por defecto en Ubuntu estándar) y el estado oficial de la corrección; no son una confirmación de que el exploit de este repositorio se haya ejecutado con éxito en ningún host específico.
| Herramienta | Propósito | Usuario previsto |
|---|---|---|
cve_2026_98432 | Kit de herramientas para equipos rojos y azules. Comprobaciones de parches en código fuente y en tiempo de ejecución, sonda de red, oráculo de carrera con detección de reutilización de marcadores, análisis de pcap, recuperación del desplazamiento de KASLR y guía de mitigación. Un solo comando con un menú interactivo o flags directos. | Equipos rojos, equipos azules, pentesters autorizados |
--check | Inspección local de la versión del kernel y del árbol de código fuente. | Equipos azules, auditores |
--probe | Confirmar que un listener TCP es accesible y que las opciones SYN de IPv4 llegan a la pila. | Equipos rojos, equipos azules |
--race | Oráculo de carrera basado en marcadores. Envía SYNs manipulados e inspecciona los SYN-ACK en busca de reutilización de marcadores entre flujos. | Equipos rojos (Prob) |
--pcap | Análisis offline de pcap. Detecta evidencia de UAF y candidatos a punteros del kernel. | Equipos azules (Parcial) |
--map | Recuperación del desplazamiento de KASLR a partir de punteros de texto filtrados usando un System.map. | Equipos rojos (Parcial) |
--harden | Aplicar o previsualizar mitigaciones (MPTCP desactivado, migración desactivada, descarte de opciones IP). | Equipos azules (Prob) |
| Etiqueta | Significado |
|---|---|
| (sin etiqueta) | Determinista. Misma entrada, misma salida. |
| (Prob) | Los resultados de la carrera pueden variar entre ejecuciones. La herramienta repite los intentos durante una duración limitada. |
| (Parcial) | Depende de una entrada correcta. La herramienta funciona cuando se proporciona un pcap válido o un System.map coincidente. |