Назад
Дефект vhost ядра Linux CVE-2026-74580 дає локальний root і втеку з гостя
SiTech AI Team3 хв читання

Дефект vhost ядра Linux CVE-2026-74580 дає локальний root і втеку з гостя

Дев'ятирічний дефект vhost ядра Linux CVE-2026-74580 (Vghost) дозволяє локальному користувачеві отримати root і втекти на хост VM. Tencent Zhuque Lab знайшов її за допомогою AI.

Тло і вплив

Tencent Zhuque Lab розкрила вразливість у підсистемі vhost ядра Linux, відому як CVE-2026-74580 та під назвою Vghost. Дефект стосується версій ядра від 4.11 до 7.2-rc4, майже дев'ятирічної давнини. Він надає непривілейованому локальному користувачу можливість читати та записувати будь-яку пам'ять ядра, обійти рандомізацію розташування адресного простору ядра та отримати права root. У сценарії віртуалізації, коли virtio-пристрій розміщено за віртуальним IOMMU з увімкненим iommu_platform і vhost працює в режимі device-IOTLB, ненадійний гість може скористатися тим самим дефектом і записувати поза межами в процес QEMU хоста, що потенційно дає виконання коду на хості.

Дефект знайдено за допомогою Corvus AI, багатоагентної системи Tencent для дослідження вразливостей ядра. У виправленні upstream система AI позначена рядком Assisted-by. Tencent випустила виправлення 3 серпня, а повний опис з робочими демонстраціями опублікувала 12 жовтня. Публічних відомостей про реальне використання дефекту немає.

Технічні деталі

Підсистема vhost прискорює мережеві та інші операції введення-виведення для віртуальних машин і контейнерів. Локальний користувач використовує її через вузли пристроїв типу /dev/vhost-net або /dev/vhost-vsock. Підсистема зберігає кеш таблиць пам'яті для кожного віртуального кільця та загальної черги. Вхід у кеш вважається підтвердженням того, що регіон уже перевірено. Кеш очищується під час оновлення або видалення таблиць та перезавантаження черги, але не тоді, коли VHOST_SET_VRING_ADDR або VHOST_SET_VRING_NUM змінюють адреси або розмір кільця під час активної черги.

Коли IOTLB пристрою приєднано, ці команди приймають нові адреси без негайної перевірки та відкладають перевірку на пізніший етап. Після заповнення кешу наступна перевірка більше не виконується, і vhost перекладає нові адреси, використовуючи старі таблиці. Потім ядро копіює дані на отриманий покажчик без перевірки меж, що призводить до запису в used ring або читання дескриптора за межами таблиць. Це дає зловмиснику примітиви читання та запису ядра. Дефект походить від двох змін: зміни 2017 року в Linux 4.11, яка запровадила кеш та його швидкий доступ, і зміни 2020 року в Linux 5.9, яка винесла перевірку адрес з шляху команд та прибрала дубльову перевірку старого перекладу.

Пом'якшення та тяжкість

Виправлення, коміт de845981da67, щоразу очищує кеш, коли кільце переконфігурується. Користувачі повинні встановити ядро з цим виправленням і перезавантажити систему. Перші виправлені стабільні релізи upstream: 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 виправлено, на станом на 13 жовтня ядра 24.04 та 26.04 ще в процесі.

Поки запатчене ядро не буде застосовано, адміністратори повинні обмежити доступ до вузлів пристроїв vhost, відкликавши дозволи на читання та запис для всіх із /dev/vhost-net і /dev/vhost-vsock, обмежити групу власника лише надійними віртуалізованими службами та розглядати членство в цій групі як привілейовану операцію. Тимчасових обхідних механізмів для шляху втечі з гостя на хост не існує, єдиний вихід — запатчене ядро. Оцінки тяжкості відрізняються: група CVE kernel.org оцінює дефект на 8,8 зі зміненою scope, оскільки запис із гостя на хост порушує межу гість-хост, тоді як Red Hat — на 7,3 зі незміненою scope та меншим впливом на integrity. Amazon дає 7,8, Oracle — 7,3.

Джерела: The Hacker News

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.