Нова уязвимост в KVM виртуализационния код на Linux ядрото за ARM64 процесори може да остави освободен фрагмент от паметта на хоста експониран за гостуваща виртуална машина при хостове с активирана вложена виртуализация.

Проблемът, проследяван като CVE-2026-89775, позволява на гостуваща виртуална машина да чете и записва в паметта на ядрото на хоста, а изследователят, който го е открил, заявява, че той може да бъде използван за ескалация извън изолираната среда на госта и изпълнение на код върху хост машината.

Засегнатият код е част от основното разклонение (mainline) на Linux ядрото за ARM64 и е отстранен в Linux 6.18.51, 7.2.5 и 7.3-rc1.

Вложената виртуализация позволява на госта да стартира собствен хипервизор, което му дава възможност да хоства виртуални машини. При ARM64 тя е изключена по подразбиране. Това е експериментален режим по време на зареждане (boot-time), който изисква Armv8.4 хардкуарен софтуер с функция, наречена FEAT_NV2, така че стандартен ARM64 KVM хост, който никога не я включва, е извън докладвания вектор на атака.

Уязвимостта се намира в частта от KVM, която управлява вложената виртуализация при ARM64. Когато гостът подреди своята памет по определен начин, изчислението на размера дава резултат нула и стъпката, която трябва да изчисти остарелите записи от адресното кеш пространство на процесора (TLB инвалидация), бива пропусната.

Страница от паметта на хоста, която е била освободена, остава свързана и достъпна за запис, като гостът може да я чете и записва по 64 бита наведнъж, без хардуерно прихващане, което да върне контрола на хоста.

Хюнву Ким (Hyunwoo Kim), изследователят по сигурност, който съобщи за уязвимостта и я разкри на 16 септември, заявява, че гостуваща машина може да използва това, за да излезе от своята виртуална среда и да изпълни код върху базисната машина. Не е публикуван код за експлойт и няма данни уязвимостта да е била използвана при атака.

Собственият регистър на ядрото посочва засегнатия код като присъстващ от Linux 6.16 насам. Авторът обаче е отбелязал корекцията спрямо по-късна промяна, а поддържащият разработчик (maintainer), който я е прегледал и тествал, заявява, че „пропуснатата инвалидация започва едва от v6.17“. Според това обяснение хост с версия 6.16 съдържа кода, но не и поведението, от което се нуждае даден атакуващ.

Съществува и втори начин за злоупотреба с уязвимостта. На системи, където всеки потребител може да отвори /dev/kvm (устройството, което дадено приложение използва за създаване на виртуална машина), локален потребител би могъл да създаде гост и да използва същия дефект, за да получи root привилегии, посочва Ким.

Той посочва Red Hat Enterprise Linux, където това устройство е отворено за всички потребители по подразбиране. Red Hat вписва ядрото на своята версия 10 като засегнато, а версии от 6 до 9 — като незасегнати. Този път за атака все пак изисква хостът да има активирана вложена виртуализация.

Кои ядра са коригирани

В основния проект уязвимостта е отстранена в Linux 6.18.51, 7.2.5 и 7.3-rc1. Дистрибуциите предоставят корекцията за сигурност според собствените си графици, като статусът варира според версията.

Ядро или дистрибуцияСтатус към 22 септември
Mainline LinuxКоригирана в 6.18.51, 7.2.5 и 7.3-rc1
Red Hat Enterprise LinuxЯдрото на версия 10 е засегнато; версии от 6 до 9 не са засегнати
Ubuntu26.04, включително нейните AWS, Azure и GCP ядра, е уязвима; 24.04 LTS общото ядро не е засегнато, въпреки че по-новите му hardware-enablement ядра (6.17, 7.0) са уязвими
Amazon LinuxПакетът kernel6.18 за AL2023: очаква корекция; други Amazon Linux ядра не са засегнати
Debianbookworm и trixie не са засегнати (кодът не присъства); sid е коригиран в 7.2.6-1; forky е уязвим

За хостове, за които все още не могат да бъдат инсталирани корекции за сигурност, Red Hat заявява, че няма временно решение (mitigation), което да отговаря на нейните критерии. Единственото сигурно нещо е обхватът: атаката е насочена само към хостове с активирана вложена виртуализация, което не е настройката по подразбиране при ARM64.

Доставчиците оценяват уязвимостта от 7.8 до 9.3 от 10. Те са съгласни, че въздействието е високо, а атаката е локална, което означава, че не може да бъде извършена по мрежата. Разликата отразява това колко трудна според всеки доставчик е уязвимостта за експлоатация, като Ubuntu, която показва оценка 9.3, определя собствения си приоритет като среден.

Към 22 септември уязвимостта не присъстваше в каталога с експлоатирани уязвимости на CISA в САЩ, а прогнозната оценка за нейната експлоатация беше под 1%.

Разкриването повдига въпроса дали клиентите на облачни услуги биха могли да използват уязвимостта, за да проникнат в машините на доставчик. При най-големите доставчици необходимата конфигурация не се предлага: Amazon Web Services посочва само базирани на Intel инстанции за вложена виртуализация, а Google Cloud изключва своите ARM виртуални машини от нея.

Това не е пълна гаранция за безопасност за тези платформи, но конкретният вектор на атака, който тази уязвимост използва, не е достъпен в техните стандартни ARM предложения.

CVE-2026-89775 е четвъртото излизане от KVM изолирана среда (guest-to-host escape), разкрита от Ким тази година. Две от тях бяха в x86 версията на KVM: Januscape през юли и Zapscape през август. Тази, на която прилича най-много, е ITScape — ARM64 KVM ескалация, публикувана от него през юни, която той нарече първото подобно публично демонстративно бягство при ARM64.