
Comprueba un host Ubuntu en busca de CVE-2026-98432 y, tras confirmarlo, aplica la mitigación provisional Red Hat RHSB-2026-016. Ubuntu 20.04 a 26.10.
Un script para servidores Ubuntu que estima el estado de parcheo del kernel en ejecución para CVE-2026-98432 a partir de los metadatos de los paquetes y de datos del proveedor y, tras tu confirmación, aplica la mitigación provisional del boletín de Red Hat RHSB-2026-016. También puede contar los paquetes coincidentes sin descartarlos, para que puedas medir antes de aplicar la medida.
Esto no es una solución y no garantiza la protección. La regla de filtrado de entrada se basa en el boletín de Red Hat; la cobertura de reenvío y las funciones operativas son añadidos de este proyecto. Esta no es una herramienta oficial de Red Hat ni de Canonical. Descarta los paquetes TCP IPv4 coincidentes con opciones IP en los hooks configurados para reducir la exposición. Red Hat afirma que "no puede prevenir por completo" el problema, y solo un kernel del proveedor corregido lo resuelve. Instala ese kernel y reinicia en cuanto se publique, y luego elimina esto.
CVE-2026-98432 es un use-after-free en el handshake TCP IPv4 del kernel de Linux. tcp_v4_syn_recv_sock() entrega las opciones IP guardadas de un SYN al nuevo socket sin copiarlas, por lo que otra CPU que gestione un SYN retransmitido puede leer esa memoria después de que se haya liberado. Existe una condición de carrera similar en la migración de sockets de solicitud (net.ipv4.tcp_migrate_req=1, o un programa BPF). La corrección upstream aplaza la liberación hasta que haya transcurrido un período de gracia RCU.
| Afectados | Linux 4.4 y posteriores, hasta la corrección |
| Puntuación | CVSS 9.8 según el CNA del kernel, Red Hat (preliminar) y el registro de Ubuntu; 8.1 según SUSE, Oracle y Amazon. La prioridad de Ubuntu es Alta |
| Corrección upstream | e3f33b0a1d89 en 7.3-rc7; estable 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 |
| Requisitos | Un listener TCP accesible sobre IPv4, un SYN que transporte opciones IP y ganar una condición de carrera |
| IPv6 | No afectado por el problema principal |
Lo que se sabe sobre la explotación, a 30 de octubre de 2026. Anthropic informa de un exploit remoto de root en sus propias pruebas contra un servidor con un listener de Multipath TCP (MPTCP), y no ha publicado el código. El equipo de seguridad de Go señala que Go 1.24 y posteriores abren listeners MPTCP por defecto, y que el fallo no es específico de MPTCP, por lo que los servidores sin dicho listener también pueden ser vulnerables. El CVE no está en el catálogo CISA KEV (edición del 2026-10-30).
Estado en Ubuntu, según el rastreador de Ubuntu el 30 de octubre de 2026. Todavía no hay nada marcado como publicado.
| Versión | Paquete linux |
|---|---|
| 26.10 | Pendiente (7.3.0-10.10) |
| 26.04 LTS | Pendiente (7.0.0-43.43) |
| 24.04 LTS | Pendiente (6.8.0-149.149) |
| 22.04 LTS | Pendiente (5.15.0-203.213; HWE 6.8.0-149.149~22.04.1) |
| 20.04 LTS | Necesario, sin versión indicada |
"Pendiente" significa que hay una corrección en camino y que aún no se ha publicado. Consulta el rastreador para conocer el estado actual.
Lee un script antes de ejecutarlo como root.
curl -fsSLO https://raw.githubusercontent.com/soroushneshati/cve-2026-98432-ubuntu-mitigation/main/cve-2026-98432-mitigation.sh
less cve-2026-98432-mitigation.sh
sudo bash cve-2026-98432-mitigation.sh check
Eso solo lee. Esta versión está lista para validación en laboratorio, aún no para despliegue en producción. En un host que no sea de producción, primero mide, luego aplica:
sudo bash cve-2026-98432-mitigation.sh --monitor-only
sudo bash cve-2026-98432-mitigation.sh
Cada ejecución muestra la evaluación y un plan, pregunta, aplica, verifica la regla cargada y ejecuta una autoprueba. Añade --dry-run para ver el plan y las reglas sin cambiar nada. docs/EXAMPLES.md contiene la salida real para cada estado.
La herramienta responde a estas preguntas de forma independiente, y una nunca sustituye a la otra.
| Pregunta | Campo en check y JSON | Valores |
|---|---|---|
| ¿Tiene el kernel en ejecución la corrección? | Estado del parche | PATCHED, VULNERABLE, UNKNOWN, NOT_AFFECTED |
| ¿Está la regla aplicándose en el kernel ahora mismo? | Aplicación de la mitigación | ACTIVE_VERIFIED, PARTIAL, MONITORING_ONLY, MISCONFIGURED, MISSING, UNKNOWN |
| ¿Sobrevivirá a un reinicio y a una recarga? | Persistencia | OK, PARTIAL, INTERRUPTED, NOT_INSTALLED |
| ¿Se comportaron las sondas como se esperaba? | Verificación en tiempo de ejecución | PASS, FAIL, INCONCLUSIVE, SKIPPED, NOT_RUN, STALE |
| ¿Funciona el reporte de estado? | Reporte | OK, STALE, TIMER_NOT_ACTIVE, NO_REPORT_YET, NOT_INSTALLED |
La última línea los combina y establece el código de salida de la ejecución por defecto, check y status:
| Resultado | Salida | Significado |
|---|---|---|
PATCHED, NOT_AFFECTED | 0 | Los metadatos del paquete o los datos del proveedor indican una corrección o ausencia de impacto. Confirma el kernel en ejecución y la variante exacta antes de eliminar la protección |
MITIGATED | 1 | No se sabe que esté corregido, y la regla está verificada en el kernel. Menor exposición, no una corrección |
VULNERABLE | 2 | Los datos del proveedor indican que el kernel en ejecución no está corregido, y la regla no se está aplicando |
UNKNOWN | 3 | Evidencia insuficiente o contradictoria, y la regla no se está aplicando. Trátalo como vulnerable |
| 4 | La propia herramienta falló, o se negó a cambiar algo |
Con automatización, cuenta 0 y 1 como éxito. MITIGATED requiere ACTIVE_VERIFIED: una tabla vacía, una regla modificada, una prioridad incorrecta, una regla de solo conteo o un host que no puedes inspeccionar nunca lo producen. El modo de solo monitorización no es un control de seguridad, por lo que reporta el resultado propio del kernel.
Solo cuenta el kernel en ejecución, y la ausencia de mención de una CVE nunca es evidencia. El orden es:
linux-modules-<release>) nombra la CVE o el asunto del commit upstream: PATCHED. Una reversión de esa corrección da UNKNOWN.dpkg-query, de modo que -aws, -azure, HWE y los demás se comparan con sus propias versiones. El script incorpora una instantánea fechada del tracker de Ubuntu (116 filas el 2026-10-30). Una versión released que se cumple da PATCHED; una que no se cumple, o una versión pending superior a la en ejecución, da VULNERABLE.UNKNOWN, con un código de motivo.