Публичен концептуален модел (Proof of Concept – PoC) за Vghost — уязвимост с висока степен на опасност в Linux vhost, проследявана като CVE-2026-74580, показва как дефектът може да позволи на локален потребител да получи root достъп или при определени конфигурации на виртуални машини да преодолее изолацията на виртуалната машина (VM escape) и да засегне хоста. Проблемът има CVSS v3.1 оценка от 8.8 и е отстранен в обновените версии на ядрото на Linux.

Vhost е подсистема в ядрото на Linux, която помага на виртуалните машини да обработват по-бързо мрежовия трафик и обмена на данни с други устройства. Тя използва споделени виртуални опашки, наречени virtqueues, за пренос на данни между гост-системата и хоста. Уязвимостта се корени в начина, по който vhost кешира IOTLB съответствията, използвани за намирането на тези опашки в паметта.

Проблемът възниква при преконфигуриране на виртуален пръстен. Linux обновява адреса или размера на пръстена, но не изчиства кешираното съответствие за дескриптора на пръстена, за свободните (available) или използваните (used) данни.

Впоследствие попадение в кеша може да пропусне очакваната проверка на адреса и да транслира новия адрес чрез старото съответствие. Полученият указател може да достигне до рутинни процедури за копиране в ядрото с невалидна целева локация.

Изследователи в пощенския списък Seclists проследиха дефекта до две по-ранни промени в ядрото: едната е въвела кеша за метаданни, докато другата е отложила проверката на гост I/O адресите.

Публикуван е PoC за уязвимостта в Linux Vhost

За локална ескалация на привилегии на атакуващия първо му е необходимо разрешение за отваряне на vhost устройство като /dev/vhost-net или /dev/vhost-vsock. Концептуалният код (PoC) подготвя кеша, променя адреса на пръстена, без да изчиства кеширания запис, след което задейства опашката. Изследователите посочват, че това позволява четене и запис в паметта на ядрото.

Демонстрираната верига от действия използва четене от паметта на ядрото, за да изчисли отместването при рандомизацията на адресното пространство, след което презаписва настройката modprobe_path на ядрото. Задействането на заявка за зареждане на модул на ядрото след това може да изпълни контролирана от атакуващия помощна програма с привилегии на root.

Изследователите съобщават, че са възпроизвели веригата на уязвимостта върху Ubuntu 26.04, RHEL 9.8, Amazon Linux 2023, Azure Linux 3.0 и Oracle Linux 10.2. Правата за достъп до устройствата се различават: тестваната система Ubuntu ограничава достъпа до групата kvm, докато другите изброени тестови системи предоставят достъп до устройството на обикновени потребители.

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

Вторият вектор на атака започва от вътрешността на виртуална машина. Той изисква vhost устройство, използващо виртуален IOMMU, iommu_platform и функцията за нулиране на virtio опашка VIRTIO_F_RING_RESET. Гост-системата може да нулира и активира отново дадена опашка, което кара хоста да преконфигурира своя пръстен, докато остарелите метаданни остават кеширани.

Когато след това гост-системата задейства опашката, остарялото съответствие може да насочи запис в пръстена за използвани данни извън паметта на госта и право в динамичната памет (heap) на процеса QEMU. Изследователите заявяват, че това повреждане може да срине QEMU или да компрометира контролния поток на изпълнение. Това представлява риск от бягство от виртуална машина (VM escape), зависещ от конкретната конфигурация, а не твърдение, че от всяка виртуална машина може да се избяга чрез тази уязвимост.

Официалната корекция за сигурност от разработчиците на ядрото изчиства кеша за метаданни на vring при промяна на адреса или размера на пръстена, така че новата конфигурация задължително преминава през валидация на IOTLB.

Първите коригирани официални стабилни версии, посочени за засегнатите серии, са 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9 и 7.2. Системните администратори трябва да инсталират коригирана версия на ядрото или официална корекция от съответния дистрибутор и да рестартират системата.

Дотогава ограничете достъпа до всички възли на vhost устройства, включително /dev/vhost-net, /dev/vhost-vsock, /dev/vhost-scsi и /dev/vhost-vdpa-*. Не предавайте тези устройства към ненадеждни контейнери.

За хостове за виртуализация без инсталирани корекции за сигурност избягвайте предоставянето на vhost устройства с iommu_platform зад виртуален IOMMU на ненадеждни гост-системи. Промените в правата за достъп не прекратяват действието на вече отворени файлови дескриптори и не адресират вектора, иницииран от гост-системата.

Техническият анализ и PoC са достъпни от Tencent Zhuque Lab и в GitHub.