В Linux устранили уязвимость Vghost: локальный пользователь мог получить root-права
Ошибка в подсистеме vhost затрагивает ядра Linux начиная с версии 4.11. В определённой конфигурации виртуализации она также позволяет гостевой системе вмешаться в работу процесса QEMU на хосте.

В ядре Linux выявили уязвимость CVE-2026-74580, получившую название Vghost. Она позволяет непривилегированному локальному пользователю читать и записывать память ядра, а затем получать root-права. По данным Tencent Zhuque Lab, обнаружившей проблему, уязвимость присутствовала в коде около девяти лет; публичных сведений о её использовании в атаках пока нет.
Проблема находится в vhost — подсистеме ядра, которая ускоряет сетевой и другой ввод-вывод для виртуальных машин и контейнеров. Атака через хост возможна при доступе к устройствам вроде /dev/vhost-net или /dev/vhost-vsock. Исследователи описывают способ эксплуатации как детерминированный: для него не требуются ни подбор удачного момента, ни специальные манипуляции с размещением памяти.
Причиной стал некорректно очищаемый кэш отображений памяти виртуальных очередей. При изменении адресов или размера очереди vhost мог продолжать использовать устаревшее отображение. В результате операции чтения и записи выходили за пределы допустимой области памяти.
Есть и более узкий сценарий, связанный с виртуализацией. Если virtio-устройство виртуальной машины работает за виртуальным IOMMU, включён параметр iommu_platform, а vhost используется в режиме device-IOTLB, недоверенная гостевая ОС может спровоцировать запись за границы буфера в процесс QEMU на хосте. Это позволяет перезаписать указатель на функцию в QEMU и перенаправить выполнение кода процесса либо вызвать его аварийное завершение. Для этого пути атаки промежуточного способа защиты нет: необходимо обновить ядро.
Tencent воспроизвела получение root-доступа на Ubuntu 26.04, RHEL 9.8, Amazon Linux 2023, Microsoft Azure Linux 3.0 и Oracle Linux 10.2. В Ubuntu доступ к устройству был ограничен группой kvm, тогда как в остальных четырёх проверенных образах узел устройства имел права 0666 и был доступен любому локальному пользователю.
Исправление внесено коммитом 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 исправление доступно, а ядра Ubuntu 24.04 и 26.04 по состоянию на 13 октября ещё числились в работе.
До установки обновления исследователи рекомендуют ограничить доступ к /dev/vhost-net и /dev/vhost-vsock, убрав права для всех пользователей и оставив их только доверенным сервисам виртуализации. Членство в соответствующей группе следует рассматривать как привилегию.
Tencent сообщает, что уязвимость обнаружили с помощью Corvus AI — разработанной лабораторией многоагентной системы для поиска проблем в ядре. Речь идёт о машинной поддержке исследования, а не об атаке, выполненной ИИ.