ITScape (CVE 2026 46316) est une vulnérabilité critique d'échappement de VM qui permet de prendre le contrôle de l'hôte avec des privilèges noyau, et un exploit public fonctionnel est déjà disponible [6]. La faille est une condition de concurrence dans le cache de traduction du vGIC ITS de KVM, provoquant un « use a...

Create a landscape editorial hero image for this Studio Global article: What is the CVE-2026-46316 ("ITScape") vulnerability in Linux KVM/arm64's vGIC-ITS emulation, including its root cause as a race condition i. Article summary: Here is the full breakdown of **CVE-2026-46316 ("ITScape")**, based on the available evidence.. Topic tags: general, general web, user generated, government. Reference image context from search candidates: Reference image 1: visual subject "| CVE-2026-7572An off-by-one error (CWE-193) in the ConsumeUnit16Array and ConsumeUnit64Array functions in Velocidex Velociraptor before version 0.76.5 on Windows and Linux allows" source context "Latest Linux Vulnerabilities" Reference image 2: visual subject "# CVE-2026-23425: Linux Kernel Privilege Escalation Flaw. CVE-2026-23425 is a privilege escalation vulnerability in the Linux kernel affecting KVM ARM64 ID register i
Une faille de type « use-after-free » dans le sous-système KVM/arm64 du noyau Linux permet à une machine virtuelle invitée, spécialement conçue pour l'occasion, de briser son isolation et de prendre le contrôle total de l'hôte sous-jacent. Référencée CVE-2026-46316 et surnommée ITScape, il s'agit du tout premier exploit d'évasion « guest-to-host » documenté publiquement pour KVM sur arm64. Une première qui place tous les fournisseurs de cloud ARM mutualisés face à une échéance de correction d'urgence .
Révélée par le chercheur Hyunwoo Kim début juin 2026, cette vulnérabilité n'est pas une simple menace théorique. Un exploit de démonstration (preuve de concept) entièrement fonctionnel est disponible publiquement sur GitHub. Il exploite la faille en utilisant des threads vCPU simultanés qui envoient des commandes DISCARD ITS pendant que le cache de traduction LPI est en cours d'invalidation . L'impact est une compromission totale de l'hôte depuis une VM sans aucun privilège.
ITScape est une condition de concurrence au sein du service de traduction d'interruptions du contrôleur d'interruptions générique virtuel intégré à KVM (vGIC-ITS). Ce composant (vGIC-ITS) est chargé de la traduction des interruptions LPI (Logical Processor Interrupt) pour les machines virtuelles sur architecture arm64. Lorsqu'une entrée du cache de traduction doit être invalidée, le noyau parcourt les entrées et libère leurs références. La faille réside dans le fait que la fonction d'invalidation décrémentait le compteur de référence de chaque entrée retournée par l'itérateur — y compris des entrées qui avaient déjà été supprimées du cache par une opération concurrente .
Ce double décrément de référence crée un cas classique de « use-after-free » (UAF) : deux chemins d'exécution finissent par opérer sur une zone mémoire qui a déjà été libérée, offrant à un attaquant une fenêtre pour manipuler le tas (heap) et, finalement, détourner le flux d'exécution au niveau du noyau de l'hôte .
Le bug se situe précisément dans la fonction vgic_its_invalidate_cache(). Celle-ci parcourt le cache de traduction propre à chaque ITS avec xa_for_each() et appelle vgic_put_irq() sur le pointeur issu de l'itération, plutôt que sur la valeur retournée de manière sécurisée par xa_erase(). Plusieurs contextes peuvent appeler cette fonction sous différents verrous, rendant la condition de concurrence tout à fait accessible depuis une machine invitée en combinant la gestion de commandes ITS, une écriture sur GITS_CTLR et la désactivation de EnableLPIs dans un redistributeur
.
Les failles d'évasion de VM vers l'hôte sont rares, mais elles représentent la catégorie la plus dangereuse de bugs pour un hyperviseur, car elles brisent la frontière d'isolation sur laquelle repose le cloud computing. Les précédentes évasions KVM publiques ciblaient les architectures x86, généralement via des bugs dans QEMU ou dans du code spécifique à AMD . ITScape est le premier exploit fonctionnel à démontrer une évasion depuis une VM invitée arm64 sans privilège à travers le code de KVM intégré au noyau lui-même — aucun bug dans un émulateur en espace utilisateur n'est nécessaire
.
Pour les fournisseurs de cloud utilisant des processeurs Graviton (AWS), Ampere Altra ou tout hôte KVM arm64 avec des charges de travail mutualisées, un attaquant peut, depuis une simple VM :
La plupart des équipes de sécurité ont attribué à cette vulnérabilité un score CVSS supérieur à 9.0, reflétant sa sévérité critique .
Le code vulnérable se situe dans le chemin d'invalidation du cache de traduction LPI. Quand le noyau doit vider des entrées du cache, il itère dans le XArray avec xa_for_each() et appelle vgic_put_irq() pour libérer le compteur de référence de chaque entrée. Le problème est que xa_for_each() peut retourner des entrées qui ont déjà été effacées par une opération concurrente — comme une commande DISCARD ITS émise depuis un autre vCPU. La boucle d'invalidation décrémente tout de même la référence sur cette entrée déjà supprimée, ce qui provoque un double « put » et, en fin de compte, un use-after-free
.
Une vulnérabilité antérieure dans ce même code, CVE-2024-26598, avait partiellement corrigé un UAF dans le chemin d'accès au cache de traduction LPI en augmentant le compteur de référence dans vgic_its_check_cache() avant de relâcher le verrou. Ce correctif ne couvrait pas le chemin d'invalidation, laissant la condition de concurrence exploitable via une autre séquence de déclenchement
.
Le correctif officiel modifie vgic_its_invalidate_cache() pour que vgic_put_irq() soit appelé uniquement sur la valeur retournée par xa_erase(), et non sur chaque entrée touchée par l'itérateur. Le message du commit indique : « KVM: arm64: vgic-its: Drop the translation cache reference only for the erased entry » (KVM: arm64: vgic-its: Abandonner la référence du cache de traduction uniquement pour l'entrée effacée)
.
Étant donné que xa_erase() supprime atomiquement et retourne l'ancienne entrée — ou retourne NULL si l'entrée avait déjà disparu — le correctif garantit que le compteur de référence est décrémenté exactement une fois, éliminant la fenêtre de double libération. Ce patch a été intégré au noyau Linux officiel début juin 2026 et rapidement inclus dans les séries stables 6.x vers les 8-10 juin 2026
. Les distributions majeures, dont Red Hat, SUSE et Debian, ont publié des correctifs rétroportés pour leurs branches de noyau prises en charge
.
Hyunwoo Kim a publié un exploit fonctionnel sur GitHub aux alentours du 9-10 juin 2026. Le dépôt comprend le code source complet, des instructions de reproduction étape par étape et une description technique de la technique d'exploitation . L'exploit déclenche la condition de concurrence en coordonnant des threads vCPU qui émettent simultanément des commandes DISCARD et des requêtes au cache de traduction LPI, pour atterrir précisément sur le use-after-free et exécuter du code sur l'hôte.
La disponibilité publique d'une preuve de concept fiable signifie que des scanners d'exploits standardisés et des attaquants réels peuvent militariser cette vulnérabilité avec un minimum d'effort, réduisant considérablement la fenêtre entre la divulgation et les attaques actives.
Si vous gérez une infrastructure KVM arm64 mutualisée — que ce soit avec des instances AWS Graviton, des serveurs Ampere Altra ou toute plateforme similaire — vous devez traiter cela comme un cycle de correctifs d'urgence immédiat.
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
ITScape (CVE 2026 46316) est une vulnérabilité critique d'échappement de VM qui permet de prendre le contrôle de l'hôte avec des privilèges noyau, et un exploit public fonctionnel est déjà disponible [6].
ITScape (CVE 2026 46316) est une vulnérabilité critique d'échappement de VM qui permet de prendre le contrôle de l'hôte avec des privilèges noyau, et un exploit public fonctionnel est déjà disponible [6]. La faille est une condition de concurrence dans le cache de traduction du vGIC ITS de KVM, provoquant un « use after free ».
Les fournisseurs de cloud utilisant des hôtes ARM64 mutualisés (comme AWS Graviton) doivent appliquer le correctif d'urgence ; une atténuation temporaire consiste à désactiver l'ITS virtuel intégré au noyau pour les m...