El CVE-2026-98432 llegó con una etiqueta alarmante: CVSS 9.8, crítico. Conviene leerlo con calma. Es una falla real y ya corregida, pero el puntaje describe el peor caso teórico, no el riesgo probable.
Qué ocurre
Durante el handshake TCP en IPv4, las opciones IP que trae el SYN se transfieren al socket hijo sin copiarse. Mientras tanto, otra CPU puede estar procesando una retransmisión del mismo SYN y construyendo el SYNACK con esas mismas opciones.
Desde el commit 079096f103fa, los request sockets se procesan sin tomar el lock del listener. Nada impide entonces que el socket hijo se libere mientras el SYNACK todavía se arma. Como inet_sock_destruct() libera inet_opt con un kfree() común, el resultado es un use-after-free en ip_options_build().
Hay un segundo camino a través de la migración de request sockets (net.ipv4.tcp_migrate_req=1 o un programa BPF de reuseport). La corrección es simple: liberar con kfree_rcu(), como ya hacían otros caminos del mismo código. El parche es de Eric Dumazet y entró en Linux 7.3-rc7 (commit e3f33b0a1d89).
Por qué el 9.8 engaña
El puntaje asume ataque por red, sin autenticación y sin interacción. Pero, hasta donde sé, explotarlo exige dos condiciones:
- que llegue un SYN IPv4 con opciones IP, que es lo único que llena
ireq_opt; - ganar una carrera de tiempo muy estrecha.
El desenlace más probable es un kernel panic, es decir, denegación de servicio. No conozco un exploit de ejecución remota. Es una inferencia mía, no un análisis publicado.
Estado
- Debian: corregido. Bookworm en 6.1.190-1, trixie en 6.12.113-1 (DSA-6568-1), sid en 7.2.12-1.
- Ubuntu: todas las LTS figuran como vulnerable, work in progress.
Qué hacer
- Debian: actualizar el kernel y reiniciar; después, comparar
uname -rcon las versiones corregidas. - Ubuntu: esperar el USN y, mientras tanto, confirmar que
sysctl net.ipv4.tcp_migrate_reqdevuelve0, que es el valor por defecto. - Mitigación parcial: descartar en el firewall los paquetes IPv4 con opciones IP, que casi ningún tráfico legítimo usa.
No es el apocalipsis que sugiere el número. Es un error de sincronización, bien entendido y bien corregido. Lo urgente es reiniciar, no entrar en pánico.
Comentarios
Publicar un comentario