Корень проблемы кроется в коде теневого MMU, а именно в функции kvm_mmu_get_child_sp(). Эта функция предназначена для повторного использования существующей записи теневой таблицы страниц (SPTE), когда гость изменяет свои таблицы страниц. Критический недостаток заключается в том, что функция проверяет только номер гостевого кадра (Guest Frame Number, GFN), решая, можно ли переиспользовать теневую страницу, но не проверяет роль MMU (Memory Management Unit) .
Вот упрощённая схема атаки:
direct=1.direct=0.kvm_mmu_get_child_sp() ищет теневую страницу для повторного использования, она находит существующую, так как GFN совпадает. Однако она не сравнивает роль direct. В результате старая теневая страница с ролью direct=1 некорректно используется в контексте, где требуется direct=0 .sptep) остаётся в системе и может быть использован при обходе rmap (для ведения журнала грязных страниц или инвалидации MMU notifier), что приводит к состоянию use-after-free .Последствия CVE-2026-53359 особенно серьёзны в многопользовательских облачных средах.
/dev/kvm доступно для записи всем (права 0666), неавторизованный локальный пользователь может использовать эту уязвимость для надёжного повышения своих привилегий .Разработчики ядра Linux отреагировали оперативно. Исправление было внесено в основную ветку ядра и перенесено в стабильные версии. Все они были выпущены 4 июля 2026 года .
81ccda30b4e83d8f5cc4fd50503c44e3a33abfeb и его бэкпорты) усиливает логику проверки в функции kvm_mmu_get_child_sp(). Теперь для повторного использования теневой страницы требуется совпадение как номера гостевого кадра, так и роли MMU, что предотвращает несоответствие ролей, приводящее к use-after-free .Хотя установка патча является единственным полным решением, администраторы могут принять временные меры для снижения поверхности атаки:
/dev/kvm: Чтобы предотвратить локальное повышение привилегий, следует ограничить доступ к устройству KVM. Измените права доступа с помощью команды chmod 660 /dev/kvm и добавьте в группу kvm только доверенных пользователей .