
Comprobador no destructivo para CVE-2026-98432 (use-after-free en TCP del kernel de Linux): estado del parche, listeners expuestos y verificación de mitigaciones. Por OMNIVERSE.
Inglés | Turco
Herramienta de verificación no destructiva para CVE-2026-98432 (use-after-free en TCP IPv4 del kernel de Linux)
Desarrollado por OMNIVERSE Siber Güvenlik ve Bilişim A.Ş.
omnicheck-98432 determina la exposición de un sistema Linux a CVE-2026-98432 sin cambiar nada en el sistema y sin desencadenar la vulnerabilidad:
[::] que aceptan IPv4 y los espacios de nombres de red de contenedoresnet.mptcp.enabled y net.ipv4.tcp_migrate_reqInforma un veredicto de una línea, un código de salida y un informe JSON.
No desencadena la condición de carrera, no envía retransmisiones SYN, no corrompe la memoria, no intenta escalada de privilegios y no cambia ninguna configuración. Envía como máximo tres paquetes SYN individuales por puerto.
python3 omnicheck-98432.py selftest # SELFTEST_OK
sudo python3 omnicheck-98432.py local --namespaces # on the target server
Ejecución de ejemplo en modo local en un servidor Ubuntu 24.04 con la mitigación temporal aplicada (nombre de host e IPs anonimizados):

Línea de veredicto:
SONUÇ VULNERABLE_MITIGATED Zafiyetli çekirdek; geçici önlem aktif, dağıtım yaması çıkınca güncelleyip yeniden başlatın
El informe se imprime en turco; los códigos de veredicto (PATCHED, VULNERABLE_MITIGATED, ...), los nombres de campos JSON, --help y los comentarios del código fuente están en inglés.
| Modo | Se ejecuta en | Produce |
|---|---|---|
local | Servidor Linux objetivo (sudo) | Estado del parche, listeners, MPTCP, mitigación, veredicto en una línea |
probe | Máquina de escaneo (root + scapy) | Alcanzabilidad de la clase de paquete desencadenante y negociación MPTCP; objetivos como HOST[:PORTS] o CIDR[:PORTS], enviados en lotes acompasados |
capture | Servidor objetivo (sudo) | Registro pasivo de los SYN entrantes (opciones IPv4, MPTCP) |
audit | Máquina de escaneo (root + scapy + SSH) | local + capture + probe en una sola ejecución, evidencia correlacionada con paquetes |
combine | Cualquier lugar | Fusiona múltiples informes JSON en una sola tabla |
selftest | Cualquier lugar | Pruebas de analizador sin conexión |
probeprobe funciona desde cualquier lugar, pero su resultado de opciones IP solo es concluyente cuando la ruta hacia el objetivo no filtra opciones IP. Muchas rutas de internet (ISPs, CGNAT, bordes de nube) descartan silenciosamente los paquetes con opciones IP; desde un punto de observación así, TCP_REACHABLE_IPOPT_NO_REPLY significa "el paquete no llegó", no "la mitigación del host funciona". Ejecute probe desde la misma red que los objetivos (DMZ, red de gestión, jump host) o combínelo con capture en el objetivo (audit hace esto automáticamente) para obtener una respuesta definitiva.
sudo python3 omnicheck-98432.py probe 10.0.0.0/24:22,443 --output dmz.json # one /24, two ports
sudo python3 omnicheck-98432.py probe --targets-file scope.txt --ports 22 # file: HOST or CIDR per line
Los endpoints se deduplican por IP y puerto resueltos; hasta 8192 endpoints por ejecución, 50 paquetes/s por defecto (--rate).
| Código | Significado |
|---|---|
| 0 | Parcheado o no afectado |
| 1 | Vulnerable y sin protección |
| 2 | Vulnerable, mitigación temporal activa |
| 3 | Indeterminado o error de la herramienta |
| Veredicto | Significado |
|---|---|
PATCHED | El changelog, livepatch o la versión upstream confirman la corrección |
NOT_AFFECTED | Kernel anterior a 4.4 (p. ej. RHEL 7) |
VULNERABLE_NO_LISTENER | Kernel vulnerable, sin listener TCP IPv4 que no sea loopback |
VULNERABLE_MITIGATED | Kernel vulnerable, regla de descarte de opciones IPv4 activa |
VULNERABLE_EXPOSED | Kernel vulnerable, listeners presentes, sin mitigación |
VULNERABLE_MITIGATED_VERIFIED | (audit) Mitigación activa y confirmada por prueba externa |
VULNERABLE_TRIGGER_PATH_OPEN | (audit) Se respondió a un SYN con opciones IPv4; la ruta de activación es alcanzable |
CRITICAL_MPTCP_REMOTE | (audit) Kernel vulnerable y negociación MPTCP aceptada desde el exterior |
probe, audit): Python 3.8+, root, scapy (pip3 install scapy), cliente OpenSSH.El python3 predeterminado en RHEL 8 / Rocky 8 es 3.6; use python3.9 o python3.11 en esos sistemas.
Guía completa que cubre todos los modos, parámetros, veredictos y escenarios:
Use esta herramienta solo en sistemas para los que tenga autorización por escrito para realizar pruebas. Los modos probe y audit envían paquetes sin procesar y pueden activar alertas de IDS/IPS; notifique al equipo de seguridad correspondiente antes de realizar las pruebas. Esta herramienta no es un exploit y no demuestra la explotabilidad.
OMNIVERSE Siber Güvenlik ve Bilişim A.Ş. · omni-verse.io · [email protected]