if ( !emtpy($headline_subheadline ) ) : ?>
La vulnérabilité affecte la pile réseau du noyau et pourrait permettre à des attaquants présents dans des machines virtuelles compromises d’atteindre les systèmes hôtes sous-jacents.
endif; ?>
La pile réseau du noyau Linux s’est révélée vulnérable à une attaque d’évasion d’invité vers hôte, dans laquelle un attaquant opérant à l’intérieur d’une machine virtuelle (VM) pourrait franchir la limite d’isolement et accéder à l’hôte sous-jacent.
Surnommée PwnEscape et suivie comme CVE-2026-99999, une faille permettait aux métadonnées de paquets contrôlées par l’invité de déclencher une écriture qui modifie un en-tête IPv4 après que le noyau l’ait déjà traité. Cette faille pourrait être associée à des techniques d’exploitation supplémentaires pour réaliser l’exécution de code au niveau de l’hôte.
Le problème a été découvert par le chercheur en sécurité Paulos Yibelo de Pwn.ai alors qu’il participait au défi de sécurité Sandbox d’un million de dollars de Vercel, annoncé le 18 août. Le défi invitait les chercheurs à tester les limites d’isolement de l’infrastructure de sandboxing de Vercel, notamment s’ils pouvaient échapper à la machine virtuelle elle-même et atteindre l’hôte.
Vercel a ensuite décrit PwnEscape comme la découverte la plus grave soumise dans le cadre de son programme. « Les attaques par crash et exécution de code liées aux paquets ont été démontrées sur les machines KVM et Firecracker du chercheur correspondant à la configuration Vercel Sandbox », a déclaré l’ingénieur en sécurité principal de Vercel, Andy Riancho, dans un article de blog. Aucun rapport n’a montré que quiconque accède aux données clients dans Vercel Sandbox, a-t-il ajouté.
Le problème est maintenant résolu. Une description NVD du bogue a identifié sept correctifs de branche stable, dont les versions Linux 5.10, 5.15, 6.1, 6.6, 6.12, 6.18 et 7.2, ainsi qu’un correctif principal.
La somme de contrôle retardée a modifié l’en-tête approuvé par le noyau
PwnEscape exploite le mécanisme de déchargement de la somme de contrôle de Linux, qui permet au noyau de différer le calcul de la somme de contrôle d’un paquet réseau jusqu’à une étape ultérieure du traitement. Les métadonnées du paquet précisent où le calcul doit commencer et où son résultat doit être écrit.
Le problème survient lorsque les métadonnées de somme de contrôle contrôlées par un attaquant dirigent l’écriture dans l’en-tête IPv4 du paquet. Linux traite initialement le paquet en utilisant son en-tête d’origine, mais une opération ultérieure de réalisation de la somme de contrôle peut modifier l’en-tête avant que le code de fragmentation ne le consomme à nouveau.
Yibelo l’a démontré en modifiant avec succès la longueur interprétée de l’en-tête IPv4 de 20 octets à 60 octets. Le code fragmenté traitait ensuite les octets au-delà des données valides du paquet dans le cadre de l’en-tête, permettant d’inclure 32 octets de mémoire hôte adjacente dans un paquet sortant.
Il s’agit en fait d’un problème de temps de vérification/d’heure d’utilisation (TOCTOU) : le noyau prend des décisions liées à la sécurité en utilisant une version de l’en-tête, puis agit ultérieurement sur une version modifiée sans la revalider. Cependant, la séquence ne nécessite pas la course habituelle entre les threads ; l’écriture différée se produit pendant les opérations réseau normales, a déclaré Yibelo dans un article de blog.
Le correctif de Linux protège l’écriture de la somme de contrôle
Le correctif en amont accepté, commit 6785011f8b16, introduit des contrôles de validation avant les opérations d’achèvement de la somme de contrôle pertinentes. Ces vérifications empêchent l’écriture de la somme de contrôle de corrompre l’en-tête IPv4 le long des chemins de traitement concernés.
Le correctif a été appliqué à l’arbre de développement Linux le 8 octobre et fusionné avec le noyau principal le 14 octobre, selon le blog. Yibelo a décrit le changement comme une mesure de défense en profondeur, notant qu’une validation plus large des métadonnées de somme de contrôle non fiables reste un domaine de travail ultérieur.
Yibelo a signalé avoir enchaîné la fuite de mémoire avec des étapes d’exploitation supplémentaires pour réaliser des écritures sélectionnées dans la mémoire du noyau et exécuter un assistant racine hôte sur ses propres systèmes de test. « Nous avons utilisé la capacité résultante dans une chaîne de laboratoire délimitée pour exécuter un assistant hôte-racine et renvoyer un marqueur généré par l’hôte à l’invité. Quatre véritables démarrages à froid distincts ont complété cette chaîne », a-t-il déclaré.
Alors que de plus amples détails sur la manière dont Yibelo a réussi à échapper de l’invité à l’hôte sont attendus, il a souligné que le problème n’est pas spécifique à KVM ou à un autre hyperviseur, mais réside dans la pile réseau Linux qui gère le trafic invité.
« Bien que nous soupçonnions que l’industrie de la sécurité utilisera ce message pour identifier les autres hyperviseurs concernés, nous nous attendons à ce que les exploits dans les configurations les plus faibles arrivent dans quelques semaines, et que les exploits fonctionnant dans les configurations d’hyperviseur par défaut arrivent dans moins d’un mois », a prévenu Yibelo.



