Contexte et portée

Le 22 septembre 2026, le chercheur Hyunwoo Kim a signalé la vulnérabilité CVE‑2026‑89775 affectant le module KVM du noyau Linux sur architecture ARM64. La faille se manifeste uniquement lorsque la virtualisation imbriquée (nested virtualization) est activée, ce qui requiert le mode expérimental au démarrage, le matériel Armv8.4 et la fonctionnalité FEAT_NV2. Sur les systèmes où cette option reste désactivée – la configuration par défaut – le vecteur d’attaque n’est pas disponible.

Les distributions concernées comprennent le noyau principal (Linux 6.18.51, 7.2.5 et 7.3‑rc1 corrigent le problème) ainsi que Red Hat Enterprise Linux 10, dont le dispositif /dev/kvm est ouvert à tous les utilisateurs. Ubuntu 26.04, Amazon Linux AL2023 (kernel 6.18) et d’autres dérivés listent la version vulnérable, tandis que les versions antérieures (Ubuntu 24.04 LTS, Debian bookworm, sid) ne contiennent pas le code incriminé.

Mécanisme de la faille

Dans la partie du code KVM qui gère la virtualisation imbriquée, le calcul de la taille d’une structure de mémoire peut aboutir à zéro lorsqu’un invité organise ses pages d’une façon précise. Cette valeur nulle empêche l’invalidation de la table de traduction d’adresses (TLB) qui aurait normalement purgé les entrées obsolètes. En conséquence, une page d‑mémoire hôte déjà libérée reste mappée et devient accessible en lecture‑écriture depuis le domaine invité, sans qu’aucune exception matérielle ne soit déclenchée. Le processus invité peut alors lire ou écrire 64 bits à la fois, ce qui ouvre la voie à une élévation de privilèges et à une fuite de code du noyau hôte.

Le chercheur indique que, bien que le code d’exploitation n’ait pas été publié, le scénario décrit permettrait à un invité de s’échapper du sandbox et d’exécuter du code arbitraire sur le système hôte. Un second vecteur exploite l’accès non restreint à /dev/kvm : un utilisateur local peut créer une machine virtuelle et appliquer la même technique pour obtenir les droits root sur le serveur hôte, à condition que la virtualisation imbriquée soit active.

Corrections et mitigations

Le correctif, intégré dans les versions 6.18.51, 7.2.5 et 7.3‑rc1 du noyau, réintroduit l’invalidation du TLB même lorsque la taille calculée est nulle, garantissant ainsi que toute page libérée est correctement retirée des tables de traduction. Les mainteneurs ont noté que le comportement problématique ne débute réellement qu’à partir de la version 6.17, bien que le code incriminé soit présent depuis 6.16. Les distributions devront synchroniser leurs paquets avec ces versions ou appliquer des backports spécifiques.

Red Hat ne propose aucune mitigation temporaire satisfaisante pour les hôtes non patchés, soulignant que la désactivation de la virtualisation imbriquée élimine le vecteur d’attaque. Cette mesure reste la seule protection efficace tant que le correctif n’est pas déployé.

Impact et perspectives

Les scores CVSS publiés varient entre 7.8 et 9.3, reflétant un impact élevé mais une exploitation locale difficile. Aucun incident connu n’a été observé dans le catalogue CISA, et la probabilité d’exploitation estimée reste inférieure à 1 %. Les grands fournisseurs de cloud – AWS, Google Cloud – n’offrent pas d’instances ARM avec virtualisation imbriquée, limitant ainsi la surface d’exposition dans les environnements multi‑locataires. Néanmoins, la découverte souligne la nécessité de restreindre l’accès à /dev/kvm et de désactiver par défaut les fonctionnalités expérimentales sur les plateformes ARM64.