Исследователь безопасности Хёнву Ким раскрыл подробности уязвимости CVE-2026-64561 в гипервизоре KVM, которая позволяет процессу с правами root внутри гостевой виртуальной машины получить доступ с правами root к хост-окружению. Проблема получила кодовое имя Zapscape. Для неё уже опубликован прототип эксплоита.
Уязвимость Zapscape (CVE-2026-64561)
Уязвимость представляет собой обращение к памяти после её освобождения в компонентах KVM, отвечающих за эмуляцию блока управления памятью (MMU) и трансляцию адресов между хостом и гостевой системой. Ошибка проявляется в процессе рекурсивного удаления так называемых теневых страниц памяти - структур, которые KVM использует для управления адресным пространством гостя. При определённой последовательности действий гипервизор продолжает обращаться к корневой теневой странице после того, как она была освобождена в ходе очистки MMU. Это позволяет гостевой системе повредить данные ядра хоста и выполнить произвольный код с привилегиями гипервизора.
Проблема затрагивает системы с процессорами как Intel, так и AMD. При этом на Intel для срабатывания требуется, чтобы гостевой системе были доступны оба уровня аппаратной трансляции адресов, поддерживаемые процессорами Intel, а на AMD таких ограничений нет. Исследователь отмечает, что уязвимость напоминает ранее раскрытую проблему Januscape (CVE-2026-53359), однако отличается условиями эксплуатации.
Zapscape представляет угрозу прежде всего для окружений, которые принимают виртуальные машины от непроверенных пользователей и предоставляют им вложенную виртуализацию. В первую очередь это публичные облачные платформы с мультиарендной архитектурой. Кроме того, уязвимость может применяться для локального повышения привилегий в системах, где обычные пользователи имеют доступ к интерфейсу создания виртуальных машин. Например, в дистрибутивах семейства Red Hat Enterprise Linux такой доступ по умолчанию открыт всем пользователям. В таком случае атакующему не нужна виртуальная машина с root-доступом - достаточно запустить вредоносный код с правами обычного пользователя.
Ошибка была допущена в 2020 году, когда в KVM появилась проверка, запрещающая размещение недействительных теневых страниц в списке активных страниц MMU. Сама же проблема с отслеживанием корневых таблиц уходит корнями в 2008 год, однако именно сочетание этих факторов сделало уязвимость эксплуатируемой. Разработчики ядра Linux устранили уязвимость несколько дней назад. Исправление включено в обновления ядра 7.1.6, 6.18.42 и 6.6.148. Статус исправления в основных дистрибутивах - Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch и Fedora - можно отслеживать на соответствующих страницах отслеживания ошибок.
Пользователям и операторам виртуализированных сред рекомендуется как можно скорее установить обновления ядра. Для систем, где доступ к созданию виртуальных машин предоставлен обычным пользователям, стоит дополнительно ограничить этот доступ, пока обновление не будет установлено. Публикация прототипа эксплоита повышает риск практического использования уязвимости, поэтому промедление с обновлением крайне нежелательно.
Уязвимость привлекает внимание к безопасности гипервизорной прослойки и важности контроля доступа к интерфейсам виртуализации. Подобные уязвимости в KVM, позволяющие покинуть пределы гостевой системы, остаются редкостью, но их последствия для облачных провайдеров и корпоративных сред крайне серьёзны. Регулярное обновление ядра и ограничение доступа к устройству виртуализации остаются основными мерами защиты.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-64561
- https://github.com/V4bel/Zapscape/blob/main/poc.c
- https://github.com/V4bel/Zapscape/blob/main/assets/write-up.md
- https://security-tracker.debian.org/tracker/CVE-2026-64561