Új sebezhetőséget találtak a Linux kernel ARM64 processzorokra írt KVM virtualizációs kódjában, amely miatt a felszabadított host memória egy része elérhető maradhat a vendég virtuális gép számára olyan hostokon, ahol a nested virtualization be van kapcsolva.
A CVE-2026-89775 azonosítón követett hiba lehetővé teszi, hogy a vendég olvassa és írja a host kernel memóriáját. A hibát felfedező kutató szerint ezt ki lehet használni arra, hogy a vendégből kitörve kódot futtassanak a host gépen.
Az érintett kód az ARM64-re írt mainline Linux kernel része, és a javítás bekerült a Linux 6.18.51, 7.2.5 és 7.3-rc1 verziókba.
A nested virtualization lehetővé teszi, hogy egy vendég saját hypervisort futtasson, és azon további virtuális gépeket indítson. ARM64-en ez alapértelmezés szerint ki van kapcsolva. Kísérleti, boot idejű mód, amelyhez Armv8.4 hardver és a FEAT_NV2 nevű funkció kell, így az a sima ARM64 KVM host, ahol ezt soha nem kapcsolják be, kívül esik a leírt támadási útvonalon.
A sebezhetőség az ARM64-en futó nested virtualization-t kezelő KVM-részben található. Ha a vendég bizonyos módon rendezi el a memóriáját, egy méretszámítás eredménye nulla lesz, ezért kimarad egy lépés, amelynek a processzor címfordító gyorsítótárából (TLB) kellene törölnie a régi bejegyzéseket, vagyis elmarad a TLB-invalidation.
Egy felszabadított host memórialap így továbbra is leképezve és írható marad, a vendég pedig 64 bites egységenként olvashatja és írhatja, hardveres trap nélkül, amely visszaadná az irányítást a hostnak.
Hyunwoo Kim, a sebezhetőséget bejelentő biztonsági kutató, aki szeptember 16-án hozta nyilvánosságra a hibát, azt mondja, a vendég ezt kihasználva ki tud törni a hostra, vagyis a saját virtuális gépéből kilépve kódot futtathat az alatta futó rendszeren. Kész exploit kódot eddig nem tettek közzé, és nincs arra utaló jel, hogy a hibát már támadásban használták volna.
A kernel saját nyilvántartása szerint az érintett kód a Linux 6.16-tól kezdve van jelen. A javítást készítő fejlesztő azonban egy későbbi módosításhoz kötötte a javítást, és a javítást átnéző és tesztelő karbantartó szerint a „kihagyott invalidation csak a v6.17-től kezdve jelentkezik”. Eszerint a 6.16-os hostban ugyan benne van a kód, de még nem úgy viselkedik, ahogy azt egy támadónak ki kellene használnia.
A hibát egy másik módon is ki lehet használni. Olyan rendszereken, ahol bármelyik felhasználó megnyithatja a /dev/kvm eszközt – amelyet a programok virtuális gépek létrehozására használnak –, egy helyi felhasználó is építhet egy vendég rendszert, és ugyanazzal a hibával root jogosultságot szerezhet – mondja Kim.
Példaként a Red Hat Enterprise Linuxot említi, ahol ez az eszköz alapértelmezés szerint minden felhasználó számára elérhető. A Red Hat szerint a 10-es verziójú kernel érintett, a 6–9-es verziók viszont nem. Ennél a támadási útvonalnál is szükség van arra, hogy a hoston be legyen kapcsolva a nested virtualization.
Mely kernelek kaptak javítást
Az upstream kernelben a hibát a Linux 6.18.51, 7.2.5 és 7.3-rc1 verziókban javították. A disztribúciók saját ütemezésük szerint adják ki a javítást, a státusz pedig a szeptember 22-i állapotot tükrözi:
| Státusz szeptember 22-én | |
|---|---|
| Mainline Linux | Javítva a 6.18.51, 7.2.5 és 7.3-rc1 verziókban. |
| Red Hat Enterprise Linux | A 10-es verziójú kernel érintett; a 6–9-es verziók nem érintettek. |
| Ubuntu | A 26.04, beleértve az AWS-, Azure- és GCP-kerneljeit, sebezhető. A 24.04 LTS általános kernelje nem érintett, viszont az újabb hardvertámogatási kernelek (6.17, 7.0) sebezhetők. |
| Amazon Linux | Az AL2023 kernel6.18 csomagnál a javítás folyamatban van; a többi Amazon Linux kernel nem érintett. |
| Debian | A bookworm és a trixie nem érintett (a kód nincs jelen). A sid javítva a 7.2.6-1 verzióban; a forky sebezhető. |
Azoknál a hostoknál, amelyeket még nem lehet javítani, a Red Hat szerint nincs olyan enyhítő megoldás, amely megfelelne a saját workaround-kritériumaiknak. Egy dolog biztos: a támadás csak olyan hostokat érint, ahol a nested virtualization be van kapcsolva, ami ARM64-en nem alapértelmezett.
A gyártók 7,8 és 9,3 közé teszik a hiba súlyosságát a 10-es skálán. Egyetértenek abban, hogy a hatás súlyos, és hogy a támadás helyi, vagyis nem indítható hálózaton keresztül. A különbség azt tükrözi, mennyire tartják kihasználhatónak a hibát; Ubuntu, amely a 9,3-as értéket adja, saját prioritását közepesre állította.
Szeptember 22-én a hiba még nem szerepelt az amerikai CISA által kihasznált sebezhetőségek katalógusában, és az előre jelzett kihasználási valószínűsége 1% alatt volt. A nyilvánosságra hozatal felveti a kérdést, hogy a felhős bérlők ki tudják-e használni a hibát a szolgáltató gépeinek feltörésére. A legnagyobb szolgáltatóknál a szükséges konfiguráció nem érhető el: az Amazon Web Services csak Intel-alapú instance-okat kínál nested virtualizationnel, a Google Cloud pedig kizárja az ARM virtuális gépeit ebből.
Ez nem jelenti azt, hogy ezek a platformok teljesen védettek, de a hiba által kihasznált konkrét útvonal nem érhető el a szokásos ARM-ajánlataikban.
A CVE-2026-89775 már a negyedik olyan KVM vendégből hostra történő kitörés, amelyet Kim idén nyilvánosságra hozott. Kettőt az x86-os KVM-változatban talált: a Januscape-et júliusban és a Zapscape-et augusztusban. A mostani hiba leginkább az ITScape-re hasonlít, egy ARM64-es KVM-kitörésre, amelyet júniusban publikált, és amelyet az első, ARM64-en nyilvánosan bemutatott ilyen kitörésnek nevezett.

