Januscape : la vulnérabilité de KVM qui pourrait déclencher l'exécution de code dans l'hôte à partir d'une VM racine

Auteur: Publié 6 min de lectura 176 lecture

Les images de cet article ont été générées par intelligence artificielle. Notre méthode de publication

Une panne de type Use-after-free dans l'hyperspectateur KVM Linux, nommé comme Januscape et suivi comme CVE-2026-53359, permet à un invité (invité) avec des privilèges root au sein de la machine virtuelle de corrompre les structures de pagination internes que KVM maintient dans le noyau de l'hôte (hôte). La démonstration publique provoque une panique du noyau de l'hôte; le chercheur qui l'a découvert, Hyunwoo Kim (@ v4bel), ajoute qu'il y a une explosion inédite qui convertit la même corruption en exécution de code dans l'hôte, ce qui augmenterait l'impact d'une simple chute à une évasion complète de confinement entre locataires d'une machine physique.

La racine du problème est dans le code du soi-disant "Shadow MMU" - une couche que KVM utilise pour maintenir ses propres tables de pages qui reflètent l'espace d'adresse de l'invité - et n'est pas spécifique à Intel ou AMD: la même logique vulnérable a été partagée et activé le bug dans les deux écosystèmes. Pendant des années, KVM réutilisé des pages de suivi seulement en vérifiant la direction physique (gfn), sans vérifier la Rôle Cette page jouait. En conséquence, KVM a parfois livré une page du mauvais type, qui mélange ses enregistrements internes et a causé la corruption; la réponse typique du noyau est d'avorter immédiatement pour éviter des dommages majeurs, mais si la page publiée est réassignée avant le nettoyage, l'accès ultérieur peut écraser la mémoire qui n'appartient plus au noyau, offrant le contrôle de l'attaquant sur l'endroit où il est écrit, et de cette primauté limitée de nombreuses techniques permettent d'augmenter jusqu'au contrôle d'exécution.

Januscape : la vulnérabilité de KVM qui pourrait déclencher l'exécution de code dans l'hôte à partir d'une VM racine
Image générée avec IA.

Il est important de souligner deux faits opérationnels qui soulèvent le risque réel: premièrement, l'échec existe depuis le code initial de 2010 (commit 2032a93d66fa) et est resté inaperçu environ 16 ans; deuxièmement, le vecteur d'exploitation pertinent dans les environnements multi-utilisateurs exige que l'invité ait racine dans la VM et que l'hôte ait exposé la virtualisation imbriquée. Bien que de nombreux hôtes utilisent EFA / NPT par matériel, l'exposition Nested force KVM à revenir à la légendaire route MMU Shadow, qui est exactement là où se trouve Januscape.

La correction en amont est minimale mais efficace: une vérification supplémentaire dans kvm _ mmu _ get _ child _ sp () qui nécessite que, en plus du numéro de cadre (gfn) la Mot rol. correspondre avant de réutiliser une page Ombre, évitant ainsi de mélanger différents types. Le patch a été intégré le 19 juin 2026; le commit peut être trouvé dans l'arborescence principale du noyau ici: engager 81ccda30b4e8. Les versions stables avec backport public ont été publiées le 4 juillet 2026 (dont 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211 et 5.10.260).

Du point de vue de la défense, la première action immédiate pour tout opérateur hôte x86 qui accepte des invités peu fiables est évaluer et appliquer les correctifs; n'attendez pas qu'un score CVSS en NVD réagit. Vérifiez si votre distribution a livré la correction à l'aide du fichier de modification du paquet noyau (les distributions sont habituellement des corrections backsource sous les numéros de version propres), et vérifiez la présence de la commission de référence ou du numéro de patch dans les notes de paquet. Pour vérifier si la virtualisation imbriquée est active dans un hôte, vous pouvez utiliser ces nœuds système : / sys / module / kvm _ intel / paramètres / imbriqués ou / sys / module / kvm _ amd / paramètres / imbriqués; une lecture différente de 0 indique que la capacité est activée.

Si vous ne pouvez pas déployer un patch immédiatement, atténuer le vecteur le plus direct en désactivant la virtualisation imbriquée avec l'option de module correspondante (par exemple, kvm _ intel.nested = 0 ou kvm _ amd.nested = 0) soit en tant que paramètre de démarrage du noyau, soit en définissant le module dans sa distribution. Veuillez noter que le téléchargement du module kvm _ intel / kvm _ amd dans un hôte qui exécute des machines virtuelles peut ne pas être viable sans un redémarrage planifié; par conséquent, l'atténuation de la configuration du GRUB et du redémarrage contrôlé est généralement la stratégie opérationnelle la plus sûre et la plus reproductible.

Januscape : la vulnérabilité de KVM qui pourrait déclencher l'exécution de code dans l'hôte à partir d'une VM racine
Image générée avec IA.

Les fournisseurs de cloud et les gestionnaires d'environnement multi-locataires devraient relever la priorité de cet arrangement : un seul locataire ayant un accès racine à une VM qui a également permis de nicher peut forcer une panique d'hôte et enlever tous les VM cohabitants, et selon le chercheur pourrait même atteindre l'exécution de code avec les privilèges du noyau si l'explosion complète est disponible. Consultez également les autorisations locales dans les systèmes d'hébergement KVM: dans certaines distributions (/ dev / kvm avec le mode 0666, par exemple), l'interface exacte peut faciliter les climats locaux en plus de la route invité-hôte.

Pour les opérateurs qui veulent vérifier rapidement : confirmer quel noyau est en cours d'exécution, vérifier le journal de changement du paquetage de votre fournisseur (pas seulement faire confiance à un -r), vérifier la configuration imbriquée dans / sys / module /... / paramètres / imbriqués et, le cas échéant, planifier un redémarrage avec l'option kvm _ * .nested = 0 sur la ligne de démarrage jusqu'à ce que le patch soit installé. La documentation technique sur KVM et la virtualisation sous Linux se trouve dans le manuel du noyau : Documentation KVM au noyau. Pour le contexte sur le découvreur et la façon dont les constatations ont été rapportées, le profil public du chercheur est disponible : profil de Hyunwoo - Oui..

Januscape fait partie d'une série de découvertes récentes dans KVM: au cours des derniers mois, le même chercheur a publié d'autres exploits et des échecs connexes ont été corrigés sur la route Shadow MMU, suggérant que cette partie héritée du code mérite un audit supplémentaire. Conclusion pratique: traiter tout hôte x86 qui accepte les invités peu fiables et a niché en tant que priorité de stationnement élevée; appliquer la correction ou, pendant ce temps, désactiver imbriqué et coordonner les communications et les actions avec vos locataires et fournisseurs de cloud pour minimiser l'impact et restaurer la confiance.

Couverture

Autres

Plus de nouvelles sur le même sujet.