Cómo auditar y mitigar en caliente CVE-2026-98432 (CVSS 9.8, Use-After-Free TCP/IPv4 en Kernel Linux) sin reiniciar tu Cloud VPS usando un Prompt de IA
La vulnerabilidad crítica CVE-2026-98432 (CVSS 9.8) afecta al subsistema TCP/IPv4 del kernel Linux (resuelta en el commit e3f33b0a1d89: «ipv4: free inet_opt and ireq_opt after an RCU grace period»). Permite que un atacante remoto sin autenticación provoque una condición de carrera y Use-After-Free (UAF) enviando paquetes TCP SYN con Opciones IPv4 hacia cualquier puerto TCP abierto. En esta guía explicamos en detalle cómo funciona el fallo, qué gravedad tiene y cómo blindar cualquier Cloud VPS autoadministrado en menos de 30 segundos y sin reiniciar el servidor mediante un Prompt listo para copiar en Antigravity CLI (agy) o MIA.
CVE-2026-98432. Publicamos esta guía técnica para nuestros clientes con Cloud VPS autoadministrados (acceso SSH root) y para la comunidad de administradores Linux.
1 Qué es CVE-2026-98432 (CVSS 9.8) y qué pasa dentro del kernel Linux
Para dimensionar por qué CVE-2026-98432 recibió un puntaje CVSS 9.8 (Crítico), basta con observar dónde ocurre: en pleno three-way handshake TCP sobre IPv4 (tcp_v4_syn_recv_sock()), es decir, en el código del kernel que procesa las conexiones entrantes hacia cualquier servicio expuesto a Internet (SSH en puerto 22, HTTP/HTTPS en 80/443, SMTP, etc.) antes incluso de que la aplicación de espacio de usuario intervenga.
Anatomía de la condición de carrera en inet_opt e ireq_opt
- El disparador (Paquetes TCP SYN con Opciones IPv4): Una cabecera IPv4 estándar mide 20 bytes (campo
IHL = 5palabras de 32 bits). Cuando un cliente envía un paquete conIHL > 5(entre6y15, es decir de 24 a 60 bytes), el kernel aloca en memoria dinámica una estructurastruct ip_options_rcuapuntada porireq->ireq_optdentro del request socket. - La transferencia insegura del puntero: Al completarse el handshake en
tcp_v4_syn_recv_sock(), el kernel transfiere la propiedad deireq->ireq_optal nuevo socket hijo (inet->inet_opt) pasando directamente el puntero sin esperar un período de gracia RCU. - La carrera entre CPUs (Use-After-Free): Dado que el procesamiento de request sockets en kernels modernos opera sin retener el bloqueo global del listener (lockless TCP listener), en un servidor con múltiples vCPUs un núcleo puede cerrar y liberar el socket hijo con un
kfree()directo eninet_sock_destruct()otcp_v4_reqsk_destructor()exactamente al mismo tiempo que otra CPU está leyendo esas mismas opcionesireq_optpara procesar un paqueteSYNretransmitido o durante una migración de request socket (net.ipv4.tcp_migrate_req=1) o sesión Multipath TCP (net.mptcp.enabled=1). - El impacto real: Esa lectura y escritura sobre memoria ya liberada en el heap del kernel (Use-After-Free) permite provocar desde un Kernel Panic inmediato (Denegación de Servicio total del VPS) hasta la corrupción controlada de estructuras del kernel para lograr ejecución remota de código con privilegios de
root(Ring 0) sin necesitar usuario ni contraseña.
e3f33b0a1d89): Titulado «ipv4: free inet_opt and ireq_opt after an RCU grace period», reemplaza la liberación inmediata por kfree_rcu() tanto en inet_sock_destruct() como en tcp_v4_reqsk_destructor(), asegurando que la estructura de opciones IPv4 jamás se libere mientras exista otra CPU leyéndola dentro de una sección crítica RCU.
Tabla de versiones LTS del Kernel Linux ya parcheadas
Podés verificar la versión actual del kernel de tu Cloud VPS ejecutando uname -r. Las ramas oficiales que ya incluyen el commit e3f33b0a1d89 son:
| Rama LTS del Kernel Linux | Estado Vulnerable | Versión Mínima Parcheada |
|---|---|---|
| Linux 5.10 LTS | < 5.10.272 |
>= 5.10.272 |
| Linux 5.15 LTS | < 5.15.223 |
>= 5.15.223 |
| Linux 6.1 LTS | < 6.1.190 |
>= 6.1.190 |
| Linux 6.6 LTS | < 6.6.159 |
>= 6.6.159 |
| Linux 6.12 LTS | < 6.12.113 |
>= 6.12.113 |
2 Cómo auditar y mitigar CVE-2026-98432 en caliente mediante un Prompt con Antigravity CLI (agy) o MIA
Actualizar el kernel de un servidor en producción suele requerir programar una ventana de mantenimiento para reiniciar (reboot). Sin embargo, podés neutralizar por completo el vector de explotación en caliente (sin reiniciar y sin cortar ni una sola conexión legítima) pidiéndole a tu agente de IA por consola —como Antigravity CLI (agy --dangerously-skip-permissions) ejecutado como root o MIA 24/7 con Gemini— que ejecute este prompt exacto:
Necesitamos auditar y mitigar en caliente **CVE-2026-98432** (CVSS 9.8, Use-After-Free en el subsistema TCP/IPv4 del kernel Linux, commit `e3f33b0a1d89`: `ipv4: free inet_opt and ireq_opt after an RCU grace period`): 1. **Paso 1 (`sysctl`):** En todos los servidores que tengan `net.mptcp.enabled`, ponerlo en `0` en caliente (`sysctl -w net.mptcp.enabled=0`) y persistirlo en `/etc/sysctl.conf` (o `/etc/sysctl.d/99-cve-2026-98432.conf`). Hacer lo mismo con `net.ipv4.tcp_migrate_req=0` si existe. 2. **Paso 2 (`iptables`):** Insertar al tope de `INPUT` la regla que descarta paquetes TCP `SYN` con Opciones IPv4 (`IHL > 5`, entre 6 y 15): `iptables -C INPUT -p tcp --syn -m u32 --u32 "0>>24&0x0f=0x06:0x0f" -j DROP 2>/dev/null || iptables -I INPUT 1 -p tcp --syn -m u32 --u32 "0>>24&0x0f=0x06:0x0f" -j DROP` (Si algún servidor no tuviera el módulo `xt_u32`, reportar su versión de kernel; los kernels ya parcheados son `>= 5.10.272`, `>= 5.15.223`, `>= 6.1.190`, `>= 6.6.159`, `>= 6.12.113`). 3. **Paso 3 (Persistencia):** Asegurar que la regla `iptables` y el `sysctl` persistan ante reinicios o recargas de `ufw` / `iptables-save` / `rc.local`, y verificar el estado final mostrando `uname -r`, el valor de `sysctl` y la primera regla de `iptables -L INPUT -n -v --line-numbers`.
¿Cómo ejecutarlo directamente desde la consola SSH como root con agy?
agy --dangerously-skip-permissions -p 'Necesitamos auditar y mitigar en caliente CVE-2026-98432 (CVSS 9.8, Use-After-Free en el subsistema TCP/IPv4 del kernel Linux, commit e3f33b0a1d89: ipv4: free inet_opt and ireq_opt after an RCU grace period). 1) Paso 1 (sysctl): Si existe net.mptcp.enabled ponerlo en 0 en caliente (sysctl -w net.mptcp.enabled=0) y persistirlo en /etc/sysctl.conf o /etc/sysctl.d/99-cve-2026-98432.conf. 2) Paso 2 (iptables): Insertar al tope de INPUT la regla que descarta paquetes TCP SYN con Opciones IPv4 (IHL > 5, entre 6 y 15): iptables -C INPUT -p tcp --syn -m u32 --u32 "0>>24&0x0f=0x06:0x0f" -j DROP 2>/dev/null || iptables -I INPUT 1 -p tcp --syn -m u32 --u32 "0>>24&0x0f=0x06:0x0f" -j DROP (si no tuviera xt_u32, reportar uname -r comparando con >= 5.10.272, >= 5.15.223, >= 6.1.190, >= 6.6.159, >= 6.12.113). 3) Paso 3 (Persistencia): Asegurar que la regla iptables y el sysctl persistan ante reinicios o recargas de ufw.'
3 Por qué esta mitigación de 3 pasos frena el exploit en seco sin afectar el tráfico real
Muchos administradores se preguntan qué hace exactamente la expresión -m u32 --u32 "0>>24&0x0f=0x06:0x0f" en iptables y por qué es tan quirúrgica:
- Qué significa
0>>24&0x0f=0x06:0x0f: El móduloxt_u32de Netfilter toma los primeros 4 bytes (32 bits) del encabezado IPv4 desde el offset0, los desplaza 24 bits hacia la derecha (>>24) para quedarse únicamente con el primer byte del paquete (que contiene 4 bits deVersion = 4y 4 bits deIHL = Internet Header Length), aplica la máscara binaria& 0x0fpara aislar los 4 bits del campoIHLy comprueba si su valor está entre0x06(6) y0x0f(15). - Por qué un paquete normal tiene siempre
IHL = 5: Todo el tráfico legítimo de Internet hoy en día (navegadores web, clientes de correo, APIs REST, conexiones SSH, webhooks de Mercado Pago o Mercado Libre) utiliza cabeceras IPv4 estándar de 20 bytes sin opciones IPv4 (IHL = 5). - Por qué el exploit necesita obligatoriamente
IHL >= 6: Si el paquete TCPSYNentrante tieneIHL = 5, el punteroireq->ireq_optpermanece enNULLy el código vulnerable jamás se ejecuta. Al descartar en la regla #1 deINPUTcualquier paquete TCP--synconIHLentre6y15, el paquete malicioso muere en el firewall antes de tocar el stack TCP del kernel. - Por qué además ponemos
net.mptcp.enabled=0: El subsistema Multipath TCP (MPTCP) amplifica las rutas de código donde los sockets hijos y los request sockets comparten y liberan opciones de red entre múltiples subflujos. Desactivarlo en servidores que solo usan TCP estándar cierra la principal vía de explotación remota demostrada públicamente.
Comandos manuales para aplicar y persistir en Ubuntu / Debian / UFW
# 1. Desactivar Multipath TCP y migración de request sockets en caliente y persistir
sysctl -w net.mptcp.enabled=0 2>/dev/null || true
sysctl -w net.ipv4.tcp_migrate_req=0 2>/dev/null || true
cat << 'EOF' > /etc/sysctl.d/99-cve-2026-98432.conf
net.mptcp.enabled = 0
net.ipv4.tcp_migrate_req = 0
EOF
sysctl --system >/dev/null 2>&1 || sysctl -p /etc/sysctl.d/99-cve-2026-98432.conf
# 2. Insertar la regla xt_u32 al tope de INPUT (idempotente)
iptables -C INPUT -p tcp --syn -m u32 --u32 "0>>24&0x0f=0x06:0x0f" -j DROP 2>/dev/null \
|| iptables -I INPUT 1 -p tcp --syn -m u32 --u32 "0>>24&0x0f=0x06:0x0f" -j DROP
# 3. Persistir en netfilter-persistent / iptables-persistent si está instalado
if command -v netfilter-persistent >/dev/null 2>&1; then
netfilter-persistent save
elif [ -d /etc/iptables ]; then
iptables-save > /etc/iptables/rules.v4
fi
# 4. Verificar que la regla esté en la posición #1 y contadores activos
iptables -L INPUT -n -v --line-numbers | head -n 5
Delegale la seguridad y administración de tus servidores a MIA 24/7 o elegí tu Cloud VPS en MESI
Con MIA siempre online con Google Gemini (que cuesta menos por mes que la electricidad que consume dejar tu PC encendida), tenés un guardián que audita y aplica mitigaciones como esta en tus servidores las 24 horas:
MIA (IA + Cloud VPS 24/7)
Tu agente con Gemini siempre online en su propio Cloud VPS: parches en caliente, administración de servidores, monitoreo 24/7 y desarrollo.
Cloud VPS 2
2 vCPU, 2 GB RAM, 30 GB SSD Enterprise RAID10 e IP dedicada. Disponible con acceso SSH root (Ubuntu 24.04) o entorno administrado.
Cloud VPS 4
4 vCPU, 4 GB RAM y 60 GB SSD Enterprise RAID10. Ideal para stacks en Docker, agentes IA (agy) y bases de datos intensivas.
Hosting Profesional NVMe
100% administrado y blindado por MESI: kernel mitigado contra CVE-2026-98432, PHP 8.4.27 y ProFTPD 1.3.9e listos sin usar consola.
Preguntas frecuentes sobre CVE-2026-98432 y su mitigación en Linux
¿Bloquear paquetes TCP SYN con IHL entre 6 y 15 (Opciones IPv4) afecta a visitantes legítimos, APIs o buscadores como Googlebot?
No. La distinción es entre Opciones IPv4 (ubicadas en la cabecera de red IPv4 cuando IHL > 5, como Source Routing o Record Route, que están obsoletas en Internet público) y Opciones TCP (como MSS, Window Scaling o SACK, que van dentro del encabezado TCP y siguen funcionando con total normalidad con IHL = 5).
¿Qué pasa si mi servidor tiene UFW activo y ejecuto ufw reload?
Si usás ufw en Ubuntu/Debian, al ejecutar ufw reload se recargan las reglas desde /etc/ufw/before.rules. Por eso el Paso 3 del prompt instruye al agente de IA (agy o MIA) a agregar la regla también en /etc/ufw/before.rules o en el servicio de persistencia activo para que se mantenga siempre en el tope de INPUT.
¿Los servidores de Web Hosting y Correo de MESI ya están protegidos contra CVE-2026-98432?
Sí. Todos los nodos de nuestra flota cuentan con la mitigación activa en caliente y persistente, por lo que los sitios web y correos alojados en nuestros planes administrados están completamente resguardados.
MIA