🔍 Contexte
Publié le 18 octobre 2026 par PWNAI Research (Paulos Yibelo) sur pwn.ai, cet article détaille la découverte de CVE-2026-99999, une vulnérabilité critique dans la pile réseau du noyau Linux permettant une évasion complète guest-to-host depuis un environnement KVM. La recherche a été initiée dans le cadre du challenge sandbox à 1 million de dollars lancé par Vercel le 18 août 2026.
🧠 Mécanisme de la vulnérabilité
La vulnérabilité repose sur un pattern appelé “deferred-metadata trust inversion” combinant trois transitions de confiance :
- Origin trust : un guest non fiable décrit une opération que l’hôte exécutera plus tard
- Interpretation trust : le paquet change de représentation lors du traitement des en-têtes de couche liaison
- Temporal trust : une opération différée modifie un état déjà parsé avant qu’un autre consommateur noyau l’utilise
Concrètement, la structure sk_buff de Linux supporte un état CHECKSUM_PARTIAL où le checksum transport est calculé de manière différée. Les champs csum_start et csum_offset autorisent une écriture ultérieure dans la mémoire du paquet. Un guest peut manipuler ces métadonnées pour que l’écriture différée modifie l’en-tête IPv4 après que le noyau l’ait déjà validé, notamment le champ ihl (longueur d’en-tête), le faisant passer de 0x45 (20 octets) à 0x4f (60 octets).
💥 Impact démontré
- Divulgation de 32 octets de mémoire hôte par paquet actif (lecture hors limites logiques du
sk_buff) - Écriture sélective de 64 octets dans le noyau hôte via contrôle du comportement d’allocation
- Exécution d’un helper root hôte démontrée sur 4 boots froids distincts sur des machines appartenant aux chercheurs
- Vulnérabilité présente dans de nombreux environnements hyperviseur, pas seulement KVM
🛠️ Correction appliquée
Le patch accepté (commit 6785011f8b16, auteur : Michael S. Tsirkin, Red Hat) ajoute un helper ip_check_csum_start() dans include/net/ip.h vérifiant l’invariant :
Ce guard est appliqué à 5 consommateurs de checksum IPv4 avant toute complétion. Le patch a été intégré dans net.git le 8 octobre 2026 et mergé dans l’arbre de Linus le 14 octobre 2026. Il est explicitement décrit comme une mesure de défense en profondeur, une validation plus large de l’ingress restant à faire.
📅 Chronologie
- 18 août 2026 : Lancement du challenge Vercel
- 20 août 2026 : Soumission du rapport initial de divulgation mémoire hôte
- 4 septembre 2026 : Rapport privé à l’équipe sécurité du noyau Linux
- 7 septembre 2026 : Reproduction confirmée par Michael S. Tsirkin
- 19-22 septembre 2026 : Soumissions publiques sur netdev
- 7-8 octobre 2026 : Patch accepté dans
net.git - 13-14 octobre 2026 : Coordination CVE et revue stable
📌 Type d’article
Publication de recherche technique détaillant une vulnérabilité originale avec preuve de concept, chronologie de divulgation coordonnée et analyse du correctif upstream.
🧠 TTPs et IOCs détectés
TTP
- T1611 — Escape to Host (Privilege Escalation)
- T1203 — Exploitation for Client Execution (Execution)
- T1005 — Data from Local System (Collection)
IOC
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 19 octobre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- Omega-Pwn (framework)
🟡 Indice de vérification factuelle : 51/100 (moyenne)
- ⬜ pwn.ai — source non référencée (0pts)
- ✅ 27735 chars — texte complet (fulltext extrait) (15pts)
- ✅ 1 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 3 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ✅ 1/1 CVE(s) confirmée(s) (CIRCL) (5pts)
🔗 Source originale : https://pwn.ai/blog/pwnescape