Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-98432-nft-mitigation — Mitigación provisional de nftables para la CVE-2026-98432 del kernel de Linux (UAF en opciones IPv4 en tcp_v4_syn_recv_sock) como una habilidad de agente reproducible | Kitploit
Herramientas/GitHubGitHub/nfodor/cve-2026-98432-nft-mitigation
Herramientas DefensivasSeguridad de ContenedoresAnálisis de VulnerabilidadesAuditoría de ConfiguraciónSeguridad de RedesMala ConfiguraciónRespuesta a Incidentes
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
nfodor/cve-2026-98432-nft-mitigation

cve-2026-98432-nft-mitigation

Mitigación provisional de nftables para la CVE-2026-98432 del kernel de Linux (UAF en opciones IPv4 en tcp_v4_syn_recv_sock) como una habilidad de agente reproducible

Ver Repositorio
23hace 6 díasAún no revisado
Compartir

Mitigación nft de CVE-2026-98432

Habilidad de agente que aplica, verifica, persiste y posteriormente elimina la mitigación provisional del host para la vulnerabilidad del kernel de Linux CVE-2026-98432 (CVSS 9.8): una única regla de nftables que descarta los paquetes TCP que transportan opciones IPv4 — la única entrada que alcanza el use-after-free de inet_opt/ireq_opt en tcp_v4_syn_recv_sock().

Contexto que conviene conocer: el Frontier Red Team de Anthropic describió públicamente un PoC funcional de no autenticado a root contra servidores que exponen un listener MPTCP (oct. 2026); no se han reportado explotaciones en la naturaleza. El CNA del kernel le asigna 9.8; upstream y Red Hat le asignan 8.1 (complejidad de ataque alta). La corrección del proveedor son los backports de la clase del kernel de Ubuntu 6.8.0-149 — hasta que el kernel en ejecución incluya la corrección, esta regla es la solución provisional. Está acotada a un campo de una cabecera de un protocolo, por lo que el tráfico normal no se ve afectado.

Esta regla no es novedosa — trátala como arte previo empaquetado. Véase "Arte previo" más abajo; la contribución de este repositorio es la forma reproducible de habilidad de agente más los escollos de producción.

Contenido

RutaQué
SKILL.mdLa habilidad — disparadores en el frontmatter, conjunto de reglas, comprobaciones, persistencia, escollos, eliminación
files/cve98432.nftConjunto de reglas de nftables listo para copiar (prerouting, prioridad −300)
files/nft-cve98432.serviceUnidad systemd lista para copiar (persistencia)

Instalación (habilidad de agente)

cp -R cve-2026-98432-nft-mitigation ~/.claude/skills/     # Claude Code
cp -R cve-2026-98432-nft-mitigation ~/.agents/skills/     # agents-style runtimes

El frontmatter description es la superficie de descubrimiento: los agentes seleccionan esta skill cuando se les pide mitigar CVE-2026-98432, el "TCP/IP fix", el UAF de opciones IPv4 del kernel, o eliminar la mitigación después de que se publique el kernel del proveedor.

Antes de aplicar — tres comprobaciones

  1. ¿El kernel en ejecución ya está corregido? Los backports cambian los números de versión — comprueba el changelog del kernel que realmente estás ejecutando:
    zgrep -c CVE-2026-98432 /usr/share/doc/linux-modules-$(uname -r)/changelog.Debian.gz   # Debian/Ubuntu
    rpm -q --changelog kernel-core-$(uname -r) | grep -c CVE-2026-98432                     # RHEL/Rocky/Alma
    
    > 0 = corregido, omita la mitigación. (Compruebe también su rastreador de proveedor; y apt-cache policy linux-image-generic para un kernel más nuevo instalado pero no arrancado.)
  2. Listeners MPTCP (ss -lnMp): el PoC publicado los ataca, y Go ≥ 1.24 escucha con MPTCP por defecto en kernels que lo permiten. sysctl net.mptcp.enabled=0 solo afecta a sockets nuevos — los listeners ya abiertos mantienen MPTCP hasta que su servicio se reinicie (GODEBUG=multipathtcp=0 según el equipo de Go).
  3. Redes etiquetadas CIPSO: si cat /sys/kernel/security/lsm lista SELinux o Smack y usa el mapeo NetLabel CIPSOV4, las opciones IPv4 son legítimas allí — esta regla rompería esa ruta. No la aplique en redes etiquetadas CIPSO (RFC 7126 analiza el compromiso).

Uso (se requiere root)

  1. Instale files/cve98432.nft y files/nft-cve98432.service.
  2. nft -c -f /usr/local/sbin/cve98432.nft — comprobación de análisis; requiere root (sin root falla en netlink: cache initialization failed).
  3. systemctl daemon-reload && systemctl enable --now nft-cve98432.service
  4. Reinicie la unidad dos veces — prueba de idempotencia. La línea destroy table … debe ser la primera línea del archivo: añadida al final crea la tabla y luego la destruye, dejando un conjunto de reglas vacío mientras el servicio sigue saliendo con 0.
  5. nft list table inet cve98432 debe mostrar meta l4proto tcp ip hdrlength > 5 counter drop en una cadena con priority -300 (antes de conntrack, coincidiendo con la regla publicada).
  6. Coexistencia: una table inet … personalizada no es propiedad de iptables, por lo que las herramientas iptables-restore / ufw / firewalld la dejan intacta (ejecute su restauración una vez y vuelva a listar para confirmar).

Eliminación tras instalar y reiniciar con el kernel corregido: sección 7 de SKILL.md.

Contenedores: la regla también debe residir en su netns

El estado de nftables es por espacio de nombres de red. Las reglas del host ven el tráfico de un contenedor solo donde cruza el host (p. ej., contenedor → exterior); el tráfico que permanece dentro del propio espacio de nombres del contenedor (contenedor → su propio loopback/IP) nunca atraviesa el prerouting del host — sin embargo, el kernel es compartido, por lo que el código dentro de un contenedor aún puede alcanzar el UAF localmente. Inyecte el mismo conjunto de reglas en cada contenedor en ejecución:

# Docker (host-side nsenter keeps the needed capabilities)
for c in $(docker ps -q); do
  pid=$(docker inspect -f '{{.State.Pid}}' "$c")
  nsenter -t "$pid" -n /usr/sbin/nft -f /usr/local/sbin/cve98432.nft
done
# LXC (privileged CLI as root)
for c in $(lxc-ls -1 2>/dev/null); do lxc-attach -n "$c" -- nft -f /usr/local/sbin/cve98432.nft; done

Los namespaces de contenedores no persisten las reglas nft — vuelve a ejecutarlo en cada reinicio del contenedor (engánchalo al paso posterior al inicio de tu orquestador). Trabajo previo para este mismo vacío, con scripts: typhoon1217/cve-2026-98432-mitigation (inject-netns.sh).

Verificación del descarte (lado cliente)

Los sockets estándar son suficientes — no se requiere fabricación de paquetes en el servidor: un cliente establece una opción IPv4 Record Route mediante setsockopt(IP_OPTIONS) y se conecta; una conexión simple tiene éxito, la conexión con opciones debe agotar el tiempo de espera mientras el contador de la regla se incrementa. Clientes listos para usar: check-blocked.py / verify-synack.sh en typhoon1217/cve-2026-98432-mitigation. Advertencia de ese proyecto: un cliente que él mismo ejecuta la mitigación también descartará los ecos SYN-ACK del objetivo — prueba desde un cliente sin mitigación para obtener un veredicto limpio.

Por qué esta regla

  • El UAF solo es alcanzable a través de segmentos TCP cuyo encabezado IPv4 lleva opciones (IHL > 5); RFC 7126 ya recomienda que routers/firewalls descarten las opciones Record Route/Timestamp, por lo que esto no rompe nada real.
  • prerouting con priority -300: antes de conntrack, de modo que los paquetes descartados nunca crean estado conntrack — y, a diferencia de input, también cubre el tráfico reenviado a contenedores/VMs que atraviesa el host.
  • La semántica de coincidencia se autoverifica: nft normaliza un @nh,4,4 > 5 sin procesar a ip hdrlength > 5 — el campo IHL, confirmado por la propia herramienta.

Trabajo previo (lee esto)

  • RFC 7126 — filtrado de paquetes IPv4 que contienen opciones IPv4
  • typhoon1217/cve-2026-98432-mitigation — misma regla de descarte + inyección en netns de contenedores, advertencia sobre CIPSO, clientes de verificación (EN/KO)
  • blog de getrff.com (29 de octubre de 2026) — misma regla con prioridad −300, comprobaciones de MPTCP, scripting de flotas
  • análisis de Atlas sobre CVE-2026-98432 — opciones de activación + regla
  • CIQ KB — "Mitigating CVE-2026-98432 on Rocky Linux" (procedimiento verificado de reglas de firewall)
  • Red Hat RHSB-2026-016, rastreador de CVE de Ubuntu, NVD

Procedencia

Descargar herramienta