Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2026-98432-nft-mitigation — Mitigação interina com nftables para a CVE-2026-98432 do kernel Linux (UAF em opções IPv4 em tcp_v4_syn_recv_sock) como uma skill de agente reproduzível | Kitploit
Ferramentas/GitHubGitHub/nfodor/cve-2026-98432-nft-mitigation
Ferramentas DefensivasSegurança de ContêineresAnálise de VulnerabilidadesAuditoria de ConfiguraçãoSegurança de RedeConfiguração IncorretaResposta a Incidentes
GitHub

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
nfodor/cve-2026-98432-nft-mitigation

cve-2026-98432-nft-mitigation

Mitigação interina com nftables para a CVE-2026-98432 do kernel Linux (UAF em opções IPv4 em tcp_v4_syn_recv_sock) como uma skill de agente reproduzível

Ver Repositório
23há 6 diasAinda não revisado
Compartilhar

Mitigação nft para CVE-2026-98432

Habilidade de agente que aplica, verifica, persiste e posteriormente remove a mitigação temporária de host para a CVE-2026-98432 do kernel Linux (CVSS 9.8): uma única regra nftables que descarta pacotes TCP que transportam opções IPv4 — a única entrada que alcança o use-after-free de inet_opt/ireq_opt em tcp_v4_syn_recv_sock().

Contexto que vale a pena conhecer: o Frontier Red Team da Anthropic descreveu publicamente um PoC funcional de não autenticado a root contra servidores que expõem um listener MPTCP (outubro de 2026); nenhuma exploração em ambiente real foi reportada. O CNA do kernel atribui 9.8; o upstream e a Red Hat atribuem 8.1 (complexidade de ataque alta). A correção do fornecedor são backports da classe do kernel Ubuntu 6.8.0-149 — até que o kernel em execução carregue a correção, esta regra é a solução provisória. Ela está restrita a um campo de um cabeçalho de um protocolo, portanto o tráfego normal não é afetado.

Esta regra não é inédita — trate-a como arte prévia empacotada. Veja "Arte prévia" abaixo; a contribuição deste repositório é a forma reproduzível de habilidade de agente mais as armadilhas de produção.

Conteúdo

CaminhoO que é
SKILL.mdA habilidade — gatilhos de frontmatter, conjunto de regras, verificações, persistência, armadilhas, remoção
files/cve98432.nftConjunto de regras nftables pronto para copiar (prerouting, prioridade −300)
files/nft-cve98432.serviceUnidade systemd pronta para copiar (persistência)

Instalação (habilidade 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

O frontmatter description é a superfície de descoberta: os agentes selecionam esta skill quando solicitados a mitigar a CVE-2026-98432, o "TCP/IP fix", o UAF de opções IPv4 do kernel, ou a remover a mitigação depois que o kernel do fornecedor for lançado.

Antes de aplicar — três verificações

  1. O kernel em execução já está corrigido? Backports alteram números de versão — verifique o changelog do kernel que você está realmente executando:
    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 = corrigido, ignore a mitigação. (Verifique também o rastreador do seu fornecedor; e apt-cache policy linux-image-generic para um kernel mais novo instalado mas não inicializado.)
  2. Listeners MPTCP (ss -lnMp): o PoC publicado tem como alvo esses listeners, e o Go ≥ 1.24 escuta com MPTCP por padrão em kernels que o permitem. sysctl net.mptcp.enabled=0 afeta apenas novos sockets — listeners já abertos mantêm o MPTCP até que seu serviço seja reiniciado (GODEBUG=multipathtcp=0 conforme a equipe do Go).
  3. Redes rotuladas CIPSO: se cat /sys/kernel/security/lsm listar SELinux ou Smack e você usar mapeamento NetLabel CIPSOV4, as opções IPv4 são legítimas ali — esta regra quebraria esse caminho. Não aplique em redes rotuladas CIPSO (a RFC 7126 discute o trade-off).

Uso (requer root)

  1. Instale files/cve98432.nft e files/nft-cve98432.service.
  2. nft -c -f /usr/local/sbin/cve98432.nft — verificação de análise; requer root (sem root falha no netlink: cache initialization failed).
  3. systemctl daemon-reload && systemctl enable --now nft-cve98432.service
  4. Reinicie a unit duas vezes — prova de idempotência. A linha destroy table … deve ser a primeira linha do arquivo: acrescentada ao final, ela cria a tabela e depois a destrói, deixando um ruleset vazio enquanto o serviço ainda sai com 0.
  5. nft list table inet cve98432 deve mostrar meta l4proto tcp ip hdrlength > 5 counter drop em uma chain com priority -300 (antes do conntrack, correspondendo à regra publicada).
  6. Coexistência: uma table inet … personalizada não pertence ao iptables, então iptables-restore / ferramentas ufw / firewalld a deixam intacta (execute seu restore uma vez e liste novamente para confirmar).

Remoção após o kernel corrigido ser instalado e reiniciado: seção 7 do SKILL.md.

Contêineres: a regra também deve existir no netns deles

O estado do nftables é por network namespace. As regras do host veem o tráfego de um contêiner apenas onde ele cruza o host (ex.: contêiner → exterior); o tráfego que permanece dentro do próprio namespace do contêiner (contêiner → seu próprio loopback/IP) nunca atravessa o prerouting do host — porém o kernel é compartilhado, então o código dentro de um contêiner ainda pode alcançar o UAF localmente. Injete o mesmo ruleset em cada contêiner em execução:

# 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

Namespaces de contêiner não persistem regras nft — reexecute a cada reinício do contêiner (integre ao passo pós-inicialização do seu orquestrador). Trabalhos anteriores para exatamente essa lacuna, com scripts: typhoon1217/cve-2026-98432-mitigation (inject-netns.sh).

Verificando o descarte (lado do cliente)

Sockets padrão são suficientes — sem criação de pacotes no servidor: um cliente define uma opção IPv4 Record Route via setsockopt(IP_OPTIONS) e conecta; uma conexão simples é bem-sucedida, a conexão com opções deve expirar enquanto o contador da regra incrementa. Clientes prontos: check-blocked.py / verify-synack.sh em typhoon1217/cve-2026-98432-mitigation. Ressalva desse projeto: um cliente que ele próprio executa a mitigação também descartará os ecos SYN-ACK do alvo — teste a partir de um cliente não mitigado para um veredito limpo.

Por que esta regra

  • A UAF só é alcançável através de segmentos TCP cujo cabeçalho IPv4 carrega opções (IHL > 5); a RFC 7126 já recomenda que roteadores/firewalls descartem as opções Record Route/Timestamp, então isto não quebra nada real.
  • prerouting com priority -300: antes do conntrack, então pacotes descartados nunca criam estado conntrack — e, diferentemente de input, também cobre tráfego encaminhado para contêineres/VMs que atravessa o host.
  • A semântica de correspondência é auto-verificável: o nft normaliza um @nh,4,4 > 5 bruto para ip hdrlength > 5 — o campo IHL, confirmado pela própria ferramenta.

Trabalhos anteriores (leia estes)

  • RFC 7126 — filtragem de pacotes IPv4 contendo opções IPv4
  • typhoon1217/cve-2026-98432-mitigation — mesma regra de descarte + injeção em netns de contêiner, ressalva sobre CIPSO, clientes de verificação (EN/KO)
  • blog getrff.com (29 de outubro de 2026) — mesma regra com prioridade −300, verificações MPTCP, script de frota
  • análise do Atlas sobre CVE-2026-98432 — opções de gatilho + regra
  • CIQ KB — "Mitigating CVE-2026-98432 on Rocky Linux" (procedimento de regra de firewall verificado)
  • Red Hat RHSB-2026-016, rastreador de CVE do Ubuntu, NVD

Proveniência

Destilado de uma implantação em produção, incluindo falhas encontradas lá: nft -c sem root, o bug de ordenação do destroy no final, um heredoc sem aspas engolindo \$ silenciosamente, e semântica de aplicação dupla. Repositório apenas de documentação — dependências de runtime: nft ≥ 1.0 + systemd; sem suíte de testes (n/a).

Baixar ferramenta