VMTech
Обсудить проект →

Vghost в Linux позволяет получить root и атаковать хост из виртуальной машины

Vghost в Linux позволяет получить root и атаковать хост из виртуальной машины

Исследователи Tencent Zhuque Lab обнаружили в Linux уязвимость CVE-2026-74580, получившую название Vghost. Ошибка в подсистеме vhost затрагивает ядра от Linux 4.11 до 7.2-rc4, позволяет локальному пользователю читать и записывать память ядра и получать права root. В определённой конфигурации виртуализации недоверенная гостевая система также может воздействовать на память процесса QEMU на хосте.

Патч был выпущен 3 августа, а техническое описание с рабочими демонстрациями атак Tencent опубликовала 12 октября. Признаков эксплуатации уязвимости в реальных атаках на момент публикации нет. В upstream-исправлении указан вклад Corvus AI — многоагентной системы Tencent для поиска уязвимостей в ядре.

Как возникает ошибка Vghost

vhost ускоряет сетевой и другой ввод-вывод для виртуальных машин и контейнеров. Для работы с очередями virtio подсистема хранит небольшой кэш отображений памяти. Попадание в кэш воспринимается как подтверждение того, что область уже прошла проверку.

Кэш очищался при обновлении или инвалидировании отображения и при сбросе очереди. Однако команды VHOST_SET_VRING_ADDR и VHOST_SET_VRING_NUM могли изменить адреса или размер очереди без очистки кэша, пока очередь оставалась активной. При подключённом device IOTLB эти команды принимали новые адреса без немедленной проверки.

После заполнения кэша последующая проверка не выполнялась, а vhost продолжал переводить новые адреса по старому отображению. Это приводило к копированию данных за границы допустимой области. На хосте такой сценарий даёт непривилегированному пользователю детерминированный доступ на чтение и запись к адресам памяти ядра, обход KASLR и повышение привилегий до root.

Риск для виртуализации и затронутые системы

Второй сценарий работает уже не во всех установках. Если устройство virtio гостевой ВМ находится за виртуальным IOMMU с включённым iommu_platform, а vhost использует режим device-IOTLB, гость может вызвать запись за пределами буфера в процесс QEMU на хосте. Это позволяет перезаписать указатель на функцию в QEMU и контролировать дальнейшее выполнение процесса либо аварийно завершить его.

Цепочка напоминает риск, который показывает эксплойт выхода из контейнера к root хоста при выходе из контейнера к правам root хоста, но в случае Vghost исходной точкой служит ошибка в vhost и конфигурация виртуализации. Tencent воспроизвела локальное повышение привилегий в Ubuntu 26.04, RHEL 9.8, Amazon Linux 2023, Microsoft Azure Linux 3.0 и Oracle Linux 10.2.

В Ubuntu доступ к устройству был ограничен группой kvm, поэтому атакующему требовалось состоять в ней. В остальных четырёх протестированных образах узлы устройств имели права 0666, то есть были доступны любому локальному пользователю. Проблема сформировалась из двух изменений: в Linux 4.11 в 2017 году появился кэш, а в Linux 5.9 в 2020 году проверку адресов перенесли на более поздний этап.

Что следует сделать администраторам

Исправление с коммитом de845981da67 очищает кэш при перенастройке очереди. Первые исправленные стабильные версии: 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9 и 7.2. Red Hat, Amazon Linux и Oracle Linux уже выпустили исправления; для Ubuntu 22.04 оно доступно, а статусы ядер 24.04 и 26.04 на 13 октября оставались в работе.

Организациям следует установить ядро с патчем или вендорским бэкпортом и обязательно перезагрузить систему. До обновления необходимо убрать общий доступ к /dev/vhost-net и /dev/vhost-vsock, назначить владельцем доверенную группу сервисов виртуализации и считать членство в ней привилегией. Для сценария выхода гостевой ВМ на хост временной меры нет: устранить его может только обновлённое ядро.

#linuxsecurity#virtualization#kernelpatching#vulnerability
Открытая аналитика
На сайте 0 просмотров
мин чтения 4 14.10.2026
Instagram

Vghost в Linux позволяет получить root и атаковать хост из виртуальной машины

Открыть публикацию в Instagram ↗