ITScape (CVE 2026 46316) is de eerste werkende 'guest to host escape' voor KVM op arm64, waarmee een gast VM met kernelrechten code kan uitvoeren op de host. De oorzaak is een race condition in de vGIC ITS translation cache van de Linux kernel, leidend tot een 'use after free'.

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
Een ‘use-after-free’-kwetsbaarheid in het KVM/arm64-subsysteem van de Linux-kernel stelt een zorgvuldig geprepareerde virtuele machine in staat om uit zijn sandbox te breken en de volledige controle over de onderliggende host over te nemen. Deze kwetsbaarheid, geregistreerd als CVE-2026-46316 en ITScape gedoopt, markeert een mijlpaal: het is de eerste publiekelijk gedocumenteerde 'guest-to-host escape'-exploit voor KVM op de arm64-architectuur. Dit plaatst iedere cloudprovider met multi-tenant ARM-omgevingen voor een spoeddeadline voor het doorvoeren van patches .
De kwetsbaarheid werd begin juni 2026 onthuld door onderzoeker Hyunwoo Kim en is geen theoretisch probleem. Een volledig werkende Proof-of-Concept-exploit is publiekelijk beschikbaar op GitHub. Deze activeert de race condition door gelijktijdig vCPU-threads 'DISCARD ITS'-commando's te laten uitvoeren terwijl de LPI-translation cache wordt geïnvalideerd. Het gevolg is een volledige overname van de host vanuit een niet-vertrouwde VM .
ITScape is een race condition in de in-kernel Virtual Generic Interrupt Controller's Interrupt Translation Service (vGIC-ITS). De vGIC-ITS verzorgt de LPI (Logical Processor Interrupt)-vertaling voor gevirtualiseerde arm64-gasten. Wanneer een invoer in de translation cache moet worden ongeldig verklaard, doorloopt de kernel de invoeren en geeft het de referenties ervan vrij. De fout is dat de invalidatiefunctie een referentie vrijgaf op elke invoer die door de iterator werd geretourneerd — inclusief invoeren die door een gelijktijdige operatie al uit de cache waren verwijderd .
Deze dubbele dereferentie creëert een klassieke 'use-after-free' (UAF): twee uitvoeringspaden kunnen op hetzelfde vrijgekomen geheugen werken, waardoor een aanvaller een tijdsvenster krijgt om de heap te manipuleren en uiteindelijk de controle over de uitvoeringsstroom op host-kernelniveau over te nemen .
De bug bevindt zich in vgic_its_invalidate_cache(), die de per-ITS translation cache doorloopt met xa_for_each() en vgic_put_irq() aanroept op de geïtereerde pointer in plaats van op de waarde die veilig wordt geretourneerd door xa_erase(). Omdat meerdere contexten deze functie kunnen aanroepen onder verschillende locks, is de race condition volledig te activeren vanuit een gast door het afhandelen van ITS-commando's, een GITS_CTLR-schrijfactie en het wissen van EnableLPIs in een redistributor te combineren .
'Guest-to-host escapes' zijn zeldzaam, maar vormen de gevaarlijkste klasse van hypervisor-bugs omdat ze de isolatiegrens doorbreken waar cloud computing van afhankelijk is. Eerdere publieke KVM-escaperichtten zich op x86-systemen, meestal via bugs in QEMU of AMD-specifieke code . ITScape is de eerste werkende exploit die een uitbraak demonstreert vanuit een onbevoorrechte arm64-gast-VM via de in-kernel KVM-code zelf — er zijn geen bugs in de gebruikersruimte-emulator voor nodig
.
Voor cloudproviders die Graviton-, Ampere Altra- of andere arm64 KVM-hosts met multi-tenant workloads gebruiken, kan een gast het volgende doen:
De meeste beveiligingsteams hebben de kwetsbaarheid beoordeeld met een CVSS-score boven de 9.0, wat de kritieke ernst ervan weerspiegelt .
De kwetsbare code bevindt zich in het pad voor het ongeldig verklaren van de LPI-translation cache. Wanneer de kernel cache-invoeren moet legen, itereert het door de XArray met xa_for_each() en roept het vgic_put_irq() aan om het aantal referenties op elke invoer te verlagen. Het probleem is dat xa_for_each() invoeren kan retourneren die mogelijk al zijn gewist door een gelijktijdige operatie, zoals een 'DISCARD ITS'-commando van een andere vCPU. De lus voor het ongeldig verklaren verlaagt dan alsnog de referentie op die reeds verwijderde invoer, wat een dubbele vrijgave en uiteindelijk een 'use-after-free' veroorzaakt .
Een eerdere kwetsbaarheid in dezelfde code, CVE-2024-26598, had een UAF in het cache-hitpad deels aangepakt door de refcount te verhogen binnen vgic_its_check_cache() voordat de lock werd vrijgegeven. Die fix dekte echter niet het pad voor het ongeldig verklaren, waardoor de race condition exploiteerbaar bleef via een andere triggervolgorde .
De upstream fix wijzigt vgic_its_invalidate_cache() zodat vgic_put_irq() alleen wordt aangeroepen op de waarde die wordt geretourneerd door xa_erase(), en niet op elke invoer die de iterator tegenkomt. De commit message luidt: "KVM: arm64: vgic-its: Drop the translation cache reference only for the erased entry" .
Omdat xa_erase() atomair de oude invoer verwijdert en retourneert — of NULL retourneert als de invoer al verdwenen was — zorgt de fix ervoor dat de referentieteller precies één keer wordt verlaagd, waardoor het 'double-free'-venster wordt geëlimineerd. De patch werd begin juni 2026 in de upstream-kernel opgenomen en rond 8-10 juni 2026 snel doorgevoerd naar de 6.x-stable serie . Grote distributies zoals Red Hat, SUSE en Debian hebben backported fixes uitgebracht voor hun ondersteunde kernelbranches
.
Hyunwoo Kim heeft rond 9-10 juni 2026 een werkende exploit op GitHub openbaar gemaakt. De repository bevat de volledige broncode, stapsgewijze reproductie-instructies en een technische beschrijving van de exploitatietechniek . De exploit triggert de race door vCPU-threads te coördineren die gelijktijdig DISCARD-commando's en LPI-translation cache-lookups uitvoeren, om zo de 'use-after-free' precies te landen voor code-uitvoering op de host.
De publieke beschikbaarheid van een betrouwbare PoC betekent dat geautomatiseerde exploitscanners en echte aanvallers de kwetsbaarheid met minimale inspanning kunnen bewapenen, waardoor het tijdsvenster tussen openbaarmaking en actieve aanvallen wordt verkort.
Als u multi-tenant arm64 KVM-infrastructuur beheert — AWS Graviton, Ampere Altra of een vergelijkbaar platform — behandel dit dan als een directe noodsituatie voor uw patchcyclus.
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) is de eerste werkende 'guest to host escape' voor KVM op arm64, waarmee een gast VM met kernelrechten code kan uitvoeren op de host.
ITScape (CVE 2026 46316) is de eerste werkende 'guest to host escape' voor KVM op arm64, waarmee een gast VM met kernelrechten code kan uitvoeren op de host. De oorzaak is een race condition in de vGIC ITS translation cache van de Linux kernel, leidend tot een 'use after free'.
Operators van multi tenant arm64 cloudomgevingen (zoals AWS Graviton) moeten onmiddellijk patchen.