Tämä on erityisen huolestuttavaa suurille pilvipalveluille, käyttävätpä ne AWS Graviton-, Ampere Altra- tai muita ARM64-suorittimia. Onnistunut hyökkäys voi johtaa:
Useimmat tietoturvatahot ovat arvioineet haavoittuvuuden CVSS-arvosanaksi yli 9.0, mikä kuvastaa sen kriittistä vakavuutta.
Haavoittuvuus sijaitsee funktiossa vgic_its_invalidate_cache(), joka vastaa LPI-keskeytysten (Logical Processor Interrupt) käännösvälimuistin (translation cache) tyhjentämisestä.
Kun kernelin täytyy mitätöidä välimuistimerkintöjä, se käy ne läpi xa_for_each()-iteraattorilla ja vapauttaa jokaisen merkinnän viitemäärän kutsumalla vgic_put_irq()-funktiota. Ongelma on, että iteraattori voi palauttaa merkintöjä, jotka toinen samanaikainen operaatio on jo poistanut välimuistista – esimerkiksi virtuaalikoneen toiselta suoritinytimeltä lähetetty DISCARD ITS -komento
.
Tämä johtaa klassiseen use-after-free (UAF) -haavoittuvuuteen: kaksi suorituspolkua yrittää käsitellä jo vapautettua muistialuetta. Hyökkääjä voi tarkoin ajoitetuilla operaatioilla manipuloida kernelin muistikekoa ja lopulta kaapata koko isäntäjärjestelmän kontrollin.
Saman koodin aiempaa versiota koski haavoittuvuus CVE-2024-26598, joka korjasi osittain samankaltaisen UAF-ongelman käännösvälimuistin osumapolulla. Tuo korjaus ei kuitenkaan kattanut tyhjennyspolkua, jättäen ITScapen hyödynnettäväksi eri laukaisusekvenssillä.
Ylävirran (upstream) Linux-kerneliin tehty korjaus muuttaa vgic_its_invalidate_cache()-funktion logiikkaa niin, että vgic_put_irq() kutsutaan vain arvoon, jonka xa_erase() palauttaa. xa_erase() poistaa alkion atomisesti ja palauttaa sen, tai palauttaa NULL, jos alkio oli jo poistettu. Näin viitemäärä vapautetaan täsmälleen kerran, eliminoiden tuplavapautuksen ja UAF-mahdollisuuden. Korjauksen otsikko on "KVM: arm64: vgic-its: Drop the translation cache reference only for the erased entry".
Korjaus julkaistiin ylävirran kernelissä kesäkuun 2026 alussa, ja se on nopeasti viety 6.x-stabiileihin kernel-sarjoihin. Suuret jakelut, kuten Red Hat, SUSE ja Debian, ovat julkaisseet takaisinsovitetut korjaukset omille tuetuille kernel-versioilleen.
Hyunwoo Kim julkaisi GitHubissa toimivan hyväksikäyttökoodin noin 9.–10. kesäkuuta 2026. Repositorio sisältää täyden lähdekoodin, vaiheittaiset toisto-ohjeet ja teknisen kuvauksen hyväksikäyttötekniikasta . Hyökkäys perustuu samanaikaisten vCPU-säikeiden koordinointiin, jotka suorittavat DISCARD-komentoja ja välimuistikyselyitä, osuen täsmälleen UAF-tilanteeseen.
Toimivan PoC:n julkinen saatavuus tarkoittaa, että haavoittuvuuden aseistaminen on hyökkääjille erittäin helppoa, ja aktiiviset hyökkäykset ovat hyvin todennäköisiä.
Jos hallinnoit monivuokralaisia ARM64 KVM -infrastruktuureja, käsittele tätä välittömänä hätäpäivitystarpeena.
Comments
0 comments