CVE-2026-74580
vhost: сброс кэша метаданных vring при перенастройке vring
- Опубликовано
- 21 авг. 2026 г.
- Обновлено
- 16 окт. 2026 г.
- Назначение CNA
- Linux
- Наблюдены доказательства
- 19 окт. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HНизкий · следующие 30 дней
- Процентиль
- 2,1 %
- Дата модели
- 23 окт. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
В ядре Linux была устранена следующая уязвимость: vhost: сброс кэша метаданных vring при перенастройке vring. vq->meta_iotlb[] кэширует vhost_iotlb_map, который лежит в основе каждой области метаданных vring, и iotlb_access_ok() завершается досрочно при попадании в кэш, принимая попадание за доказательство того, что область уже была проверена: if (vhost_vq_meta_fetch(vq, addr, len, type)) return true; Кэш сбрасывается при VHOST_IOTLB_UPDATE и VHOST_IOTLB_INVALIDATE, при (ре)инициализации IOTLB устройства и при сбросе vq, но не тогда, когда VHOST_SET_VRING_ADDR заменяет vq->desc, vq->avail и vq->used, и не тогда, когда VHOST_SET_VRING_NUM изменяет размеры областей. При подключённом IOTLB устройства оба ioctl принимаются, пока vq активен, и ни один из них не проверяет адреса во время вызова ioctl: vq_access_ok() и vq_log_used_access_ok() завершаются досрочно с true, поскольку адреса являются GIOVA, откладывая проверку до момента prefetch. Как только кэш заполнен, эта отложенная проверка больше не выполняется — vq_meta_prefetch() попадает в устаревшую запись и возвращает true — и vhost_vq_meta_fetch() продолжает транслировать через старое отображение как map->addr + addr - map->start для адреса, который отображение больше не покрывает. vhost_copy_to_user() и vhost_copy_from_user() используют результат с помощью __copy_to_user() и __copy_from_user(), которые также его не проверяют, поэтому последующее обновление used ring или выборка дескриптора обращаются к памяти за пределами области, которую фактически отображает IOTLB. Сбрасывайте кэш метаданных всякий раз, когда vring перенастраивается, чтобы новые адреса проходили через медленный путь iotlb_access_ok().
Источники
Код на C для proof-of-concept и разборы раскрытых уязвимостей ядра Linux, включая исходники эксплойтов для каждой CVE и технический анализ.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.