Критическая уязвимость в Linux KVM: захват хост-сервера через виртуальную машину!

В сфере кибербезопасности обнаружена новая критическая уязвимость, зарегистрированная под идентификатором CVE-2026-53359 и получившая название «Januscape». Данная уязвимость присутствует в механизме управления памятью системы виртуализации Linux Kernel-based Virtual Machine (KVM) и может позволить вредоносной виртуальной машине (Guest) повредить память ядра хост-операционной системы и установить над ней контроль.

Наиболее примечательным аспектом является то, что эта уязвимость существовала в коде ядра Linux почти 16 лет и не была обнаружена до настоящего времени. Исследователи безопасности отмечают, что уязвимость затрагивает среды KVM, основанные на процессорах Intel и AMD, и может нарушить один из важнейших принципов виртуализации — изоляцию между хост-системой и гостевыми системами.

Что такое Linux KVM?

Kernel-based Virtual Machine (KVM) — это технология виртуализации, встроенная в ядро Linux, которая позволяет запускать несколько независимых виртуальных машин на одном физическом сервере.

Сегодня KVM широко используется во многих центрах обработки данных, облачных инфраструктурах и корпоративных серверах. В частности:

  • управление виртуальными серверами;
  • организация облачных сервисов;
  • создание тестовых и разработочных сред;
  • управление контейнерами и виртуальными машинами —

KVM является одной из основных платформ виртуализации. Поэтому любая критическая уязвимость в KVM может напрямую повлиять на безопасность тысяч серверов и миллионов виртуальных машин.

В чем причина уязвимости?

По данным экспертов, проблема возникла в механизме управления памятью под названием Shadow Memory Management Unit (Shadow MMU), входящем в состав KVM.

Обычно современные процессоры Intel и AMD используют технологии аппаратного управления виртуальной памятью (Intel EPT и AMD NPT). Однако при использовании вложенной виртуализации (Nested Virtualization), то есть когда внутри виртуальной машины запускается еще одна виртуальная машина, KVM в некоторых случаях обращается к механизму Shadow Paging.

Именно в этом редко используемом участке кода присутствует логическая ошибка, которая может иметь серьезные последствия с точки зрения безопасности.

Как работает уязвимость?

KVM использует специальные страницы памяти, называемые Shadow Page, для управления виртуальной памятью.

Согласно анализу, при повторном использовании существующей Shadow Page KVM в некоторых случаях проверяет только значение Guest Frame Number (GFN). Однако роль (Role) этой страницы не проверяется.

В результате Shadow Page с разными ролями могут быть перепутаны.

Это приводит к некорректной работе механизма Reverse Mapping (rmap) внутри KVM. Данный механизм отслеживает, как виртуальная память отображается на физическую память хоста.

Со временем это несоответствие приводит к ошибке типа Use-After-Free. В такой ситуации система обращается к ранее освобожденной области памяти.

Если эта память была выделена для другого объекта, KVM записывает данные в неверное место, что приводит к повреждению памяти ядра хоста (Kernel Memory Corruption).

К каким последствиям может привести атака?

Тесты Proof-of-Concept (PoC), опубликованные исследователями безопасности, показали, что с помощью данной уязвимости можно успешно осуществить атаку типа «отказ в обслуживании» (Denial-of-Service – DoS) на хост-систему.

В ходе теста внутри виртуальной машины выполнялись специально сформированные операции с памятью, в результате чего механизм проверки целостности KVM обнаружил повреждение памяти.

После этого ядро Linux перешло в состояние Kernel Panic, и весь хост-сервер прекратил работу.

Если в системе включен защитный механизм CONFIG_BUG_ON_DATA_CORRUPTION, сервер выходит из строя практически мгновенно.

Однако экспертов беспокоит не только это — уязвимость не ограничивается атаками DoS.

Исследователи подтвердили, что с помощью данной ошибки также возможен «побег» из виртуальной машины (Guest-to-Host Escape), то есть выполнение произвольного кода с правами Root в хост-операционной системе.

Это дает пользователю виртуальной машины возможность установить контроль над всем сервером.

Угроза для облачных инфраструктур

Данная уязвимость представляет особую опасность для облачных провайдеров.

Во многих облачных платформах виртуальные машины нескольких клиентов работают на одном физическом сервере. Если одна из них использует эту уязвимость, теоретически она может повредить хост-систему или повлиять на ресурсы других клиентов.

Поэтому уровень риска особенно высок в средах с включенной вложенной виртуализацией (Nested Virtualization).

Одинаково влияет на системы Intel и AMD

Еще одной важной особенностью уязвимости Januscape является то, что она не привязана к одному производителю процессоров.

Поскольку уязвимый код находится в общей части x86-виртуализации KVM, он может быть использован практически одинаково на платформах:

  • Intel VMX;
  • AMD SVM.

Разработанный исследователями PoC успешно работает на обеих архитектурах.

Уязвимость была использована на практике

По данным экспертов, уязвимость Januscape была использована как Zero-Day до ее публичного раскрытия в рамках программы Google kvmCTF.

Это указывает на то, что данная уязвимость представляет собой не только теоретическую, но и практическую угрозу.

После процесса ответственного раскрытия (Responsible Disclosure) разработчики ядра Linux в короткие сроки разработали соответствующее исправление и включили его в официальный код ядра.

Как была устранена проблема?

В новом обновлении переработан механизм повторного использования Shadow Page.

Теперь перед использованием существующей Shadow Page KVM проверяет не только Guest Frame Number (GFN), но и ее значение Role.

В результате предотвращается путаница между Shadow Page с разными ролями, и устраняется основная причина уязвимости.

Кто находится в зоне риска?

Уровень риска считается высоким в следующих средах:

  • Linux-серверы, использующие виртуализацию на основе KVM;
  • системы с включенной функцией Nested Virtualization;
  • инфраструктуры облачных провайдеров;
  • многопользовательские платформы виртуализации;
  • среды, где ненадежным пользователям разрешено создавать виртуальные машины.

Рекомендации по защите

Для защиты от данной уязвимости рекомендуется принять следующие меры:

  • немедленно установить последние обновления безопасности ядра Linux, устраняющие данную уязвимость;
  • отключить функцию Nested Virtualization, если она не является строго необходимой;
  • регулярно проводить аудит безопасности серверов, работающих с KVM;
  • мониторить необычные операции с памятью в виртуальных машинах;
  • включить механизмы усиления безопасности ядра (Kernel Hardening) на хост-системах;
  • постоянно отслеживать бюллетени безопасности, выпускаемые разработчиками дистрибутивов Linux.

Заключение

CVE-2026-53359 (Januscape) оценивается как одна из самых опасных уязвимостей, обнаруженных в системе виртуализации KVM за последние годы. Эта ошибка, скрывавшаяся почти 16 лет, может нарушить принцип надежной изоляции между виртуальными машинами и хост-системой.

С помощью данной уязвимости вредоносная виртуальная машина может повредить память ядра хоста, вызвать отказ сервера и при определенных условиях выполнить произвольный код с правами Root в хост-операционной системе.

Поэтому всем организациям и системным администраторам, использующим виртуализацию на основе KVM, настоятельно рекомендуется немедленно установить последние обновления безопасности ядра Linux, пересмотреть использование функции Nested Virtualization и обеспечить регулярный мониторинг и аудит безопасности сред виртуализации.