PwnEscape laisse une machine virtuelle lire la mémoire de son hôte via des paquets réseau forgés
Le 15 octobre 2026, une faille critique du noyau Linux, CVE-2026-99999 surnommée PwnEscape, permet à du code exécuté dans une machine virtuelle de lire la mémoire de l’hôte, de le faire planter ou d’y exécuter du code. Mettez à jour le noyau de l’hôte, pas celui des invités, et vérifiez le correctif auprès de votre distribution.
Août 2026. Vercel organise un défi de sécurité doté de jusqu’à 1 million de dollars pour quiconque s’échapperait de ses sandboxes. 15 octobre 2026. La faille qui a gagné — CVE-2026-99999, surnommée PwnEscape — est rendue publique : du code exécuté dans une machine virtuelle peut lire la mémoire de l’hôte. 9,3 sur 10. C’est la note CVSS attribuée par les mainteneurs du noyau. Pourquoi c’est important : la faille n’est pas dans le code d’un cloud, mais dans la couche réseau du noyau Linux que presque tous les fournisseurs utilisent pour isoler leurs clients les uns des autres.
Une faille dans la couche partagée par tous les clouds
PwnEscape a été découverte par Paulos Yibelo du cabinet pwn.ai dans le cadre d’un challenge de sécurité de Vercel, et signalée en privé avant toute publication. Aucun signe d’exploitation réelle n’a été observé. Mais la localisation de la faille est ce qui la rend structurellement grave : elle vit dans le code réseau du noyau Linux, précisément dans la gestion des sommes de contrôle des paquets IPv4. Ce n’est pas une erreur de configuration de Vercel, et ce n’est pas un bug de Firecracker, la petite machine virtuelle qui isole les workloads chez Vercel. C’est le noyau que l’hôte exécute — la couche même que la quasi-totalité des grands clouds utilisent pour séparer les charges de travail.
Concrètement, Vercel Sandbox exécute le code de chaque client dans sa propre microVM Firecracker, sur des hôtes Amazon EC2 bare-metal. Cette microVM est le mur entre un client et l’hôte, et entre un client et un autre. La faille n’est pas dans ce mur : elle est dans le noyau Linux que l’hôte fait tourner. pwn.ai précise que le sandbox de Vercel était déjà durci au-delà des standards de l’industrie, sans aucune mauvaise configuration détectable. La conclusion de Vercel est sans ambiguïté : une faille à cet endroit menace les infrastructures partagées en général, pas un fournisseur en particulier.
Ce que le chercheur a démontré
La démonstration porte sur trois effets, tous issus de la même faille noyau. D’abord, la lecture de la mémoire de l’hôte : chaque paquet forgé envoyé depuis l’invité pouvait ramener environ 32 octets de mémoire de l’hôte, et l’invité pouvait continuer aussi longtemps qu’il envoyait des paquets. Vercel a confirmé la fuite contre ses sandboxes de production.
Ensuite, le plantage de l’hôte : deux paquets spécialement conçus suffisaient à faire tomber un hôte et tous les sandboxes qu’il hébergeait. Enfin, l’exécution de code sur l’hôte : en exploitant la même faille, le chercheur a atteint le contrôle administrateur d’un hôte, sortant de la machine virtuelle. Ces deux derniers effets n’ont toutefois été observés que sur les machines du chercheur, configurées pour reproduire l’environnement de Vercel — un résultat de laboratoire, « pas une revendication d’exécution root en production chez un quelconque fournisseur », insiste-t-il.
Un détail mérite l’attention sur la méthode. pwn.ai dit avoir trouvé la faille en trois jours avec un système de recherche assisté par IA — le modèle GPT-5.6 Sol réalisant l’analyse du code source, les humains dirigeant et validant — pour un coût de moins de 700 dollars de jetons d’API. C’est un cas d’école de plus, après une équipe qui avait atteint des systèmes internes d’OpenAI plus tôt dans l’année, de l’usage d’un grand modèle de langage pour découvrir et enchaîner des failles réelles.
Une gravité critique, mais un vecteur d’attaque local
Le record CVE publie une note de 9,3 (Critique), et le vecteur d’attaque « local ». En clair : l’attaquant doit déjà exécuter du code à l’intérieur d’un invité, comme le chercheur. Ce n’est pas une faille qu’un inconnu peut déclencher en envoyant des paquets depuis l’Internet ouvert. La NVD avait reçu l’entrée mais n’avait pas terminé son propre examen au moment de la publication, et la faille n’est pas dans le catalogue KEV de la CISA.
Ce « local » ne doit pourtant pas rassurer. Dans le modèle des clouds multi-tenant, la barrière d’entrée n’est pas l’Internet : c’est n’importe quel client qui loue une machine virtuelle sur le même hôte, ou n’importe quel attaquant qui a déjà compromis un seul invité. La fuite de mémoire hôte, même à raison de 32 octets par paquet, est un canal d’exfiltration continu qui peut finir par révéler des secrets d’autres locataires, des clés, ou des identifiants de l’hôte. C’est exactement le scénario que la virtualisation est censée rendre impossible.
Le correctif, et ce qu’il corrige vraiment
Le correctif tient en un seul changement de noyau, le commit 6785011f8b16, écrit par Michael S. Tsirkin de Red Hat et fusionné dans la branche principale. Il ajoute une vérification que les données de somme de contrôle d’un paquet ne puissent pas pointer dans l’en-tête IPv4 avant que le noyau n’agisse dessus, et applique cette vérification à cinq endroits du code réseau.
Le changement est délibérément partiel. Son auteur le qualifie de « mesure de défense en profondeur » et précise qu’une vérification plus complète à l’entrée des paquets dans le noyau reste à faire. Les mainteneurs ont backporté le correctif vers les branches stables. Selon le record CVE, voici les premières versions corrigées par branche :
- 5.10 → 5.10.272
- 5.15 → 5.15.223
- 6.1 → 6.1.190
- 6.6 → 6.6.159
- 6.12 → 6.12.113
- 6.18 → 6.18.57
- 7.2 → 7.2.11
Les distributions livrent leurs propres noyaux et intègrent souvent ce genre de correctif sans changer le numéro de version. Vérifiez donc l’avis de votre distribution et la présence réelle du correctif dans le noyau que l’hôte exécute, pas seulement le numéro renvoyé par uname.
Ce qu’il faut faire
La règle est simple et souvent mal appliquée : on corrige le noyau de l’hôte, pas celui des invités. Mettre à jour seulement le noyau d’un invité ne répare pas l’hôte. Passez l’hôte sur l’une des versions corrigées ci-dessus, ou sur le build du fournisseur qui inclut le correctif, puis redémarrez dessus. Les sources ne donnent aucun contournement séparé pour cette faille si vous ne pouvez pas encore mettre à jour.
# Noyau de l'hôte réellement actif, pas celui d'un conteneur ni d'un invité :
uname -r
# Sur Debian/Ubuntu : vérifier la version du paquet noyau de l'hôte
dpkg -l 'linux-image-*' | grep '^ii'
# Comparer à la première version corrigée de la branche concernée Là où la mise à jour doit attendre, la parade habituelle consiste à limiter ce qu’une évasion pourrait atteindre. Vercel garde ses noyaux hôtes à jour, désactive la virtualisation imbriquée et exécute chaque microVM sous le jailer de Firecracker, qui n’accorde au processus de la microVM que les permissions strictement nécessaires. Cela ne corrige pas la faille, mais réduit ce qu’un attaquant qui l’exploiterait pourrait faire. Pour un opérateur de cloud privé ou un hébergeur, c’est le niveau de durcissement à viser tant que le correctif n’est pas déployé partout.
Verdict
Si vous exploitez des machines virtuelles multi-tenant — hébergement, cloud privé, environnement de build ou de test partagé — traitez PwnEscape comme une urgence de patch : la faille casse l’isolation qui est la raison d’être de votre infrastructure, et la correction est un simple changement de noyau hôte. Si vous n’exécutez que des machines virtuelles mono-tenant dont les invités sont tous de confiance, le risque est faible, mais appliquez quand même le correctif au prochain cycle : il est déjà dans les branches stables, et la défense en profondeur n’est qu’un reboot plus loin. Dans tous les cas, la leçon dépasse ce CVE : la couche réseau du noyau est la fondation commune de toute l’industrie du cloud, et une seule faille y vaut, comme ici, une note critique qui ne doit rien à la négligence d’un fournisseur.