Критическая уязвимость Januscape (CVE-2026-53359)
Введение
В гипервизоре KVM, входящем в состав ядра Linux, обнаружена критическая уязвимость CVE-2026-53359, получившая название Januscape.
Проблема позволяет нарушить изоляцию между гостевой виртуальной машиной и хостом. При успешной эксплуатации злоумышленник может вызвать отказ в обслуживании сервера виртуализации, а при определённых условиях - выполнить произвольный код с правами root непосредственно на хосте.
Особую опасность представляет тот факт, что уязвимость была обнаружена как 0-day во время соревнования Google kvmCTF.
Что произошло
Уязвимость связана с ошибкой использования уже освобождённой памяти (Use-After-Free) в подсистеме управления памятью Shadow MMU гипервизора KVM.
Во время построения теневых таблиц страниц функция kvm_mmu_get_child_sp() повторно использует уже существующую страницу памяти, если совпадает номер страницы гостевой системы (GFN). Однако при этом не проверяется её назначение.
В результате страница, предназначенная для отображения большой страницы памяти размером 2 МБ, может быть ошибочно повторно использована как обычная страница 4 КБ.
Позже, при освобождении такой страницы KVM неверно вычисляет номер страницы гостевой системы и не удаляет соответствующую запись из структуры обратного отображения памяти (RMAP).
В итоге возникает ситуация, когда сама страница уже освобождена, но указатель на неё продолжает существовать в памяти гипервизора. При последующих операциях, например при ведении журнала изменённых страниц или обработке уведомлений подсистемы управления памятью, KVM обращается к уже освобождённой памяти, что приводит к ошибке использования уже освобождённой памяти (Use-After-Free).
Особенности эксплуатации
Для успешной эксплуатации должны выполняться следующие условия:
- используется гипервизор KVM на архитектуре x86;
- атакующий имеет права root внутри гостевой виртуальной машины;
- на хосте включена вложенная виртуализация (Nested Virtualization).
После подготовки специально сформированного состояния памяти злоумышленник может заставить гипервизор обратиться к уже освобождённой странице памяти.
Опубликованный исследователем демонстрационный эксплойт стабильно вызывает аварийное завершение работы ядра Linux, что приводит к отказу в обслуживании хоста. При этом автор исследования подтвердил существование полноценной эксплуатации, позволяющей выполнить произвольный код на стороне хоста, однако соответствующий эксплойт пока не опубликован.
Почему это опасно
Главная особенность Januscape заключается в том, что уязвимость нарушает базовый механизм безопасности виртуализации - изоляцию между гостевой системой и хостом.
При успешной эксплуатации злоумышленник потенциально может:
- выполнить произвольный код с правами root на сервере виртуализации;
- получить контроль над другими виртуальными машинами, размещёнными на этом хосте;
- похитить данные других клиентов;
- полностью скомпрометировать сервер виртуализации.
Наибольшему риску подвержены:
- Proxmox VE;
- OpenStack;
- публичные облачные платформы;
- VPS/VDS-хостинги;
- любые инфраструктуры, использующие KVM с включённой вложенной виртуализацией.
Исследователь также отмечает, что на некоторых системах, где устройство /dev/kvm доступно обычным пользователям на запись, возможен сценарий локального повышения привилегий непосредственно на хосте без использования виртуальной машины. Такой вариант зависит от конкретной конфигурации операционной системы.
Разработчики ядра Linux уже выпустили исправление для CVE-2026-53359. Всем администраторам рекомендуется установить обновления ядра как можно скорее.
До установки обновлений рекомендуется:
- обновить ядро Linux до версии с исправлением;
- установить последние обновления Proxmox VE, OpenStack и других платформ виртуализации;
- отключить вложенную виртуализацию (Nested Virtualization), если она не используется;
- не предоставлять пользователям root-доступ внутри недоверенных виртуальных машин;
- после обновления обязательно перезагрузить сервер виртуализации.
Проверить версию установленного ядра можно командой:
uname -r
Уязвимость устранена в следующих версиях:
- Linux Kernel: исправление включено в актуальные ветки ядра с соответствующим патчем CVE-2026-53359;
- Debian: исправление доступно начиная с пакета linux 6.12.95-1 для Debian Trixie и linux 7.1.3-1 для Debian Sid;
- Proxmox VE: исправление включено в обновлённые пакеты ядра PVE.
После обновления ядра необходимо выполнить перезагрузку сервера виртуализации.
Дополнительно
По словам исследователя, ошибка существовала в коде KVM около 16 лет, оставаясь незамеченной до момента её обнаружения в ходе соревнования Google kvmCTF.
Хотя опубликованный демонстрационный эксплойт пока приводит только к отказу в обслуживании, исследователь сообщил, что ему удалось добиться выполнения произвольного кода на стороне хоста. Полноценный эксплойт пока не опубликован, однако именно поэтому CVE-2026-53359 уже считается одной из наиболее опасных уязвимостей KVM за последние годы.
Для большинства инфраструктур вложенная виртуализация не является обязательной функцией. Если она не используется, её временное отключение позволяет существенно снизить риск эксплуатации до установки обновлений.
