CVE-2026-89908 in LinuxИнформация

Сводка

по VulDB • 16.09.2026

В ядре Linux была устранена следующая уязвимость:

LoongArch: KVM: Сохранение флагов архитектуры (arch flags) слота памяти при операции KVM_MR_FLAGS_ONLY

Функция kvm_arch_prepare_memory_region() вычисляет new->arch.flags, то есть является ли слот памяти способным использовать огромные страницы (KVM_MEM_HUGEPAGE_CAPABLE) или неспособным (KVM_MEM_HUGEPAGE_INCAPABLE), только для операций KVM_MR_CREATE и KVM_MR_MOVE, а для всех остальных изменений выполняет ранний возврат. Однако общий код выделяет обнуленный слот памяти для каждого изменения и никогда не копирует old->arch; поэтому после обновления с флагом KVM_MR_FLAGS_ONLY (например, при переключении KVM_MEM_LOG_DIRTY_PAGES для миграции на лету) активный слот памяти имеет arch.flags == 0.

При обнулении обоих флагов функция fault_supports_huge_mapping() переходит к проверке выравнивания только диапазона HVA, которая больше не проверяет, что GPA и HVA имеют одинаковое смещение внутри PMD (Page Middle Directory). Слот памяти, который был помечен как KVM_MEM_HUGEPAGE_INCAPABLE из-за несоответствия смещений GPA/HVA, может затем отображаться с использованием записей PMD при возникновении ошибок чтения. Поскольку kvm_map_page() выравнивает gfn и pfn независимо, гостевая система в итоге получает доступ к неверным страницам хоста, что точно соответствует случаю «d -> f, e -> g», описанному в комментарии выше указанной проверки.

Для операции KVM_MR_FLAGS_ONLY необходимо переносить флаги архитектуры (arch flags) из старого слота памяти, так как для этого случая гарантируется неизменность GPA, HVA и размера.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-405752

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!