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-99999 — Prova de conceito apenas de simulação para CVE-2026-99999, uma falha de validação de csum_start IPv4 do virtio-net no kernel Linux que permite a divulgação de memória heap do convidado para o host. | Kitploit
Ferramentas/GitHubGitHub/01luyicheng/cve-2026-99999
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoSegurança de RedeAprendizado e Educação
GitHub01luyicheng/cve-2026-99999

CVE-2026-99999

Prova de conceito apenas de simulação para CVE-2026-99999, uma falha de validação de csum_start IPv4 do virtio-net no kernel Linux que permite a divulgação de memória heap do convidado para o host.

Ver Repositório
513há 18 diasAinda não revisado

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 →
Compartilhar

CVE-2026-99999 (PwnEscape) — PoC de bug de validação de csum_start no IPv4 do kernel Linux

Divulgação de informações do kernel Linux por meio de metadados de checksum malformados do virtio-net.
CVSS 9.3 CRÍTICO | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Descoberto por Paulos | CNA: kernel.org | Publicado: 2026-10-15

⚠️ Este é um PoC educacional / de validação. Ele é executado apenas no modo --simulate (sem I/O de rede, sem necessidade de root). Ele demonstra a cadeia de ataque localmente sem explorar nenhum sistema ativo.


Índice

  1. Resumo da Vulnerabilidade
  2. Detalhes Técnicos
  3. Versões Afetadas
  4. Início Rápido
  5. Opções
  6. Como Funciona
  7. Cenários de Ataque
  8. Revisão de Código
  9. Mitigação
  10. Referências
  11. Aviso Legal

Resumo da Vulnerabilidade

Uma VM convidada pode enviar um quadro virtio-net cujo virtio_net_hdr carrega csum_start == 0 — apontando para o cabeçalho IPv4 em vez do cabeçalho de transporte. Durante a segmentação GSO no host, skb_checksum_help() recalcula o checksum cobrindo [csum_start, csum_start + csum_offset + 2) e grava o resultado de volta em csum_start + csum_offset.

Quando csum_start = 0 e csum_offset = 0, a gravação recai sobre o byte IHL (offset 0 do IP), corrompendo-o de 0x45 (IHL 5 → 20 bytes) para 0x4F (IHL 15 → 60 bytes). O ip_do_fragment() do kernel então lê 60 bytes de cabeçalho IP quando existem apenas 20 bytes — puxando ~32–64 bytes de memória heap adjacente do kernel do host para cada fragmento de saída.

Impacto: Divulgação contínua de memória heap do kernel do host para o convidado.

Superfície de ataque: Hosts KVM/QEMU com NICs virtio-net e bridge TAP habilitados, ou qualquer caminho de comunicação VM→host em que o host processa quadros virtio-net por meio de GSO.


Detalhes Técnicos

Layout de Bytes do Cabeçalho IP (RFC 791)

OffsetCampocsum_offset=0 corrompecsum_offset=6 corrompe
0Versão + IHL✅ byte IHL
1TOS
2–3Comprimento Total
4–5Identificação
6–7Flags / Offset de Fragmento✅ Flags/FragOffset (lo)
8TTL
9Protocolo
10–11Checksum do Cabeçalho
12–15IP de Origem
16–19IP de Destino

Cadeia de Ataque

Guest VM
  → constructs virtio_net_hdr with csum_start=0 (pointing at IP header)
  → sends frame through virtio-net to host
Host kernel (GSO segmentation path)
  → skb_checksum_help() called
  → writes checksum result to csum_start + csum_offset
  → if csum_offset=0: writes IHL byte (0x45 → 0x4F)
  → ip_do_fragment() reads 60B header when only 20B exist
  → ~32–64B heap memory included in each outbound fragment

Dois Caminhos de Corrupção

csum_offsetCampo CorrompidoConsequênciaVetor CVSS
0 (padrão)Byte IHL (offset 0)Leitura OOB no heap → vazamento de memóriaDivulgação de Informações
6Flags/FragOffset (offset 6)Interrupção da remontagem de fragmentosDisponibilidade

Versões Afetadas

Todas as versões do kernel Linux anteriores aos commits de correção.

Não afetadas (corrigidas): 5.10.272+, 5.15.223+, 6.1.190+, 6.12.113+, 6.18.57+, 7.2.11+

Verifique a versão do seu kernel:

uname -r
cat /proc/version

Início Rápido

Requisitos: Apenas Python 3.6+. Sem pacotes pip, sem rede, sem root.

# Clone
git clone https://github.com/01luyicheng/CVE-2026-99999.git
cd CVE-2026-99999

# Run — IHL corruption / heap-leak simulation (CVSS 9.3 path, default)
python3 CVE-2026-99999_pwnescape.py --simulate

# Simulate with 5 datagrams and 8 fragments each
python3 CVE-2026-99999_pwnescape.py --simulate -n 5 -f 8

# Flags/FragOffset corruption path (fragment reassembly disruption)
python3 CVE-2026-99999_pwnescape.py --simulate -c 6

Sem --simulate, o script imprime a descrição completa da vulnerabilidade e encerra:

python3 CVE-2026-99999_pwnescape.py

Opções

FlagDescriçãoPadrão
--simulateExecuta a simulação da cadeia de exploração (obrigatório)—
-c, --csum-offset0 = byte IHL (leitura OOB, padrão); 6 = Flags/FragOffset0
-n, --num-packetsNúmero de datagramas a simular3
-f, --fragmentsFragmentos por datagrama (mínimo 2)4

Como Funciona

A simulação é executada em 5 etapas (não requer rede):

  1. Etapa 1 — Construir pacote: Constrói um pacote válido Ethernet + IPv4 + UDP.
  2. Etapa 2 — Anexar virtio_net_hdr malicioso: Adiciona um virtio_net_hdr com csum_start=0 (apontando para o byte IHL do IPv4) e csum_offset configurável.
  3. Etapa 3 — Simular corrupção do skb_checksum_help(): Simula localmente a escrita do kernel em csum_start + csum_offset, mostrando qual byte do cabeçalho IP é sobrescrito e com qual valor.
  4. Etapa 4 — Mostrar impacto nos fragmentos: Reconstrói cada fragmento GSO com o cabeçalho IP corrompido, mostrando qual campo é afetado.
  5. Etapa 5 — Exibir resultados: Imprime os tamanhos resultantes dos fragmentos e, para o caminho IHL (csum_offset=0), observa o vazamento de memória heap de ~32–64B.

Cenários de Ataque

Cenário A: Corrupção do IHL → Vazamento de Memória Heap (CVSS 9.3)

python3 CVE-2026-99999_pwnescape.py --simulate -n 1 -c 0

csum_start=0, csum_offset=0 → a escrita recai sobre o byte IHL → IHL 5→15 → ip_do_fragment() lê 60B quando existem apenas 20B → ~32–64B de memória heap vazada por fragmento.

Cenário B: Corrupção de Flags/FragOffset → Interrupção da Remontagem

python3 CVE-2026-99999_pwnescape.py --simulate -n 1 -c 6

csum_start=0, csum_offset=6 → a escrita recai sobre o byte Flags/FragOffset → metadados de remontagem de fragmentos corrompidos → a remontagem de fragmentos falha.


Validação e Revisão de Código

Este PoC foi revisto de forma independente. Principais conclusões:

  • Lógica da cadeia de ataque totalmente precisa; layout do cabeçalho IP (RFC 791) verificado
  • Validação de entrada completa; sem falhas em casos-limite
  • Sem I/O de rede; executa totalmente offline; não requer root
  • Consistente com a descrição do NVD e a classificação CVSS 9.3
  • Pontuação global da revisão: 8.7/10 — Pronto para produção para uso educacional.

Os relatórios completos de revisão técnica são mantidos no repositório interno (CVE-2026-99999-internal) por razões de segurança.


Mitigação

  • Aplique os patches de segurança do kernel das árvores estáveis do kernel.org
  • Atualize para 5.10.272+, 5.15.223+, 6.1.190+, 6.12.113+ ou superior
  • Audite as configurações de virtio-net em hosts KVM/QEMU; desative a ponte TAP se não for necessária
  • Utilize para-virtualização virtio-net em vez de ponte TAP sempre que possível

Verifique o estado do patch:

# Check if your kernel has the fix (look for commit 6785011f8b16abf40b1e9d8b2)
cat /proc/config.gz 2>/dev/null | zcat | grep CONFIG_IPV4
# Or check dmesg for related errors after heavy network activity from a VM

Referências

  • NVD: nvd.nist.gov/vuln/detail/CVE-2026-99999
  • Commits de correção no Kernel.org: 6785011f8b16abf40b1e9d8b2 (árvores estáveis), f43798c27684 (mainline)
  • LKML: série de patches de Michael S. Tsirkin <[email protected]>
  • Código-fonte do kernel Linux: git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Aviso Legal

Baixar ferramenta