Zapscape : une faille dans KVM peut permettre une évasion depuis des VM imbriquées

Zapscape (CVE-2026-64561) est une faille dans KVM/x86 Shadow MMU permettant une évasion depuis des VM imbriquées via un use-after-free. Découvrez les systèmes exposés et les correctifs.

Zapscape : une faille dans KVM peut permettre une évasion depuis des VM imbriquées
Vulnérabilités

Image d’illustration générée par IA

Le défaut affecte KVM/x86 Shadow MMU

La vulnérabilité CVE-2026-64561, baptisée Zapscape, concerne le composant KVM/x86 Shadow MMU du noyau Linux. Le problème affecte la gestion des tables de pages shadow utilisées pour traduire la mémoire des systèmes invités imbriqués.

Un attaquant disposant de privilèges kernel dans une machine virtuelle L1, généralement équivalents à ceux de root dans l’invité, peut exploiter cette faille pour s’extraire de l’isolation KVM et exécuter du code sur l’hôte Linux avec des privilèges kernel ou root.

La divulgation publique a eu lieu le 6 août 2026, par le chercheur Hyunwoo Kim, accompagnée d’un proof of concept. Aucun élément ne fait état d’une exploitation active.

Un contrôle tardif peut entraîner un use-after-free

Le bug provient de l’ordre dans lequel KVM vérifie l’état stale de la racine lors du traitement d’un page fault généré par l’invité.

Dans certaines conditions, KVM peut récupérer des pages MMU et invalider la racine encore utilisée par le chemin de traitement de l’erreur. Le code ne vérifie pas de nouveau cet état et peut créer des pages shadow enfants sous une racine qui n’est plus valide.

Les pages héritent de l’état invalide du parent et restent parmi les pages MMU actives. Les opérations suivantes peuvent alors dupliquer un lien dans deux listes, libérer une page tout en laissant des références obsolètes et provoquer une écriture après libération : une condition de type use-after-free, classée par Red Hat comme CWE-825 — expired pointer dereference.

Le PoC démontre cette primitive en créant sur l’hôte un fichier appartenant à root nommé /Zapscape. Il ne s’agit toutefois pas d’un outil immédiatement exploitable contre les environnements cloud : il nécessite un module kernel dans l’invité L1 ainsi que des adaptations de la configuration du noyau hôte et du backend mémoire.

Systèmes exposés et versions corrigées

Le risque concerne principalement les hôtes qui exposent la virtualisation imbriquée à des invités non fiables. La NVD indique que les versions Linux à partir de la 5.9 sont affectées, jusqu’aux versions corrigées suivantes :

  • 6.6.148
  • 6.12.101
  • 6.18.42
  • 7.1.6
  • 7.2-rc5

Le problème se situe dans KVM/x86, et non dans QEMU. QEMU peut être utilisé pour les tests, mais la vulnérabilité réside dans KVM intégré au noyau et peut être déclenchée indépendamment de l’émulation QEMU.

Sur les systèmes Intel, les deux longueurs de parcours EPT (4 et 5) doivent être exposées à l’invité L1. Les systèmes AMD ne nécessitent pas de condition équivalente. Le PoC cible AMD nested SVM/NPT sous Linux 7.1.3 ; pour des tests contrôlés, Kim recommande QEMU TCG.

Pour les paquets Debian, au 6 août 2026, les noyaux de bullseye, bookworm et trixie, y compris ceux des dépôts de sécurité, ainsi que forky, étaient vulnérables. sid était corrigé dans la version 7.1.6-1. Red Hat peut distribuer des correctifs rétroportés sans modifier la chaîne de version upstream ; le numéro de version seul ne suffit donc pas.

Correctif et mesures d’atténuation

Le correctif upstream correspond au commit 2abd5287f083. La modification déplace le contrôle de la racine stale après make_mmu_pages_available(). Si la récupération invalide la racine courante, KVM relance le traitement du fault avec RET_PF_RETRY, au lieu de continuer à utiliser la structure invalide.

Les administrateurs doivent :

  1. mettre à jour les hôtes KVM vers une version corrigée ;
  2. installer le paquet du fournisseur contenant le backport ;
  3. vérifier les avis Linux, Red Hat et Debian via leurs trackers respectifs ;
  4. limiter ou désactiver la virtualisation imbriquée pour les invités non fiables, lorsque cela est possible.

La gravité préliminaire indiquée par Red Hat est de CVSS 7.0. L’impact potentiel est élevé dans les environnements cloud et multi-tenant, où un invité L1 compromis pourrait atteindre le noyau de l’hôte.

Le signalement a été envoyé à [email protected] le 11 juillet 2026 ; le correctif a été publié et intégré le 21 juillet 2026. Le problème a été transmis à la liste linux-distros le 1er août 2026, a reçu l’identifiant CVE-2026-64561 le 4 août 2026 et a été divulgué le 6 août 2026.

Dossiers sécurité

À lire aussi

Sources

Cet article est une réécriture originale fondée sur les sources ci-dessous.

CVE traitées dans cet article

Retour à l'accueil

Dernières actualités cybersécurité

Toutes les actualités cybersécurité →