Linux-уязвимость Januscape позволяет атаковать хост из гостевой VM - «Новости»

  • 14:30, 10-июл-2026
  • Новости / Изображения / Текст / Преимущества стилей / Заработок / Вёрстка / Таблицы / Добавления стилей
  • Петр
  • 0

Независимый ИБ-исследователь Хену Ким (Hyunwoo Kim) обнаружил уязвимость Januscape в гипервизоре KVM. Баг позволяет атакующему осуществить побег из гостевой виртуальной машины и выполнить код с правами root на хосте. Проблема присутствовала в ядре Linux около 16 лет и затрагивает KVM-хосты на архитектуре x86 с процессорами Intel и AMD (ARM64 уязвимость не затрагивает).


Проблеме был присвоен идентификатор CVE-2026-53359. Она представляет собой use-after-free, затрагивая код KVM/x86 и механизм, который отвечает за трансляцию адресов памяти между гостевой системой и хостом. Из-за ошибки KVM мог использовать неподходящую структуру памяти, что приводило к повреждению данных внутри ядра.


Корень уязвимости заключается в том, что при поиске подходящей теневой страницы KVM сравнивал только номер гостевого фрейма (gfn), но не проверял назначение и атрибуты страницы (role). После освобождения эту область памяти мог занять другой объект ядра, однако KVM продолжал обращаться к ней как к прежней структуре и в итоге повреждал память.


Опубликованный специалистом PoC-эксплоит провоцирует панику ядра хоста. То есть атакующий, арендовавший всего одну виртуальную машину, может спровоцировать сбой физического сервера, отключив все остальные VM на нем. По словам Кима, дополнительный эксплоит позволяет превратить атаку в полноценное выполнение кода с правами root, что приводит к захвату хоста и других гостевых систем. Однако публиковать этот эксплоит исследователь пока не планирует.


Проблема Januscape считается первым известным guest-to-host эксплоитом для KVM, который работает на машинах на базе процессоров Intel и AMD. Хуже того, особую опасность этот баг представляет для мультитенантных x86-облаков, где недоверенным гостевым VM доступна вложенная виртуализация (nested virtualization).





По словам специалиста, для реализации атаки потребуются включенная вложенная виртуализация, а также права root внутри VM, но это обычно не является проблемой для владельца облачного инстанса. Как объясняет исследователь, вложенная виртуализация вынуждает KVM использовать старый код механизма теневых таблиц даже на системах с аппаратным EPT или NPT. Для атаки не требуется участие QEMU или других компонентов в пространстве пользователя, так как проблема находится непосредственно в KVM-коде ядра.


Также сообщается, что в некоторых дистрибутивах баг можно использовать для локального повышения привилегий. В частности, в RHEL файл /dev/kvm доступен всем пользователям на запись, поэтому непривилегированный атакующий способен получить права root на непропатченной системе. А если root-доступа внутри гостевой машины нет, Januscape можно объединить с другим багом, например, с цепочкой Dirty Frag.


Ким сообщил о Januscape разработчикам, представив уязвимость как 0-day в рамках программы bug bounty Google kvmCTF. За эту находку специалист получил 250 000 долларов США.


Исправление для CVE-2026-53359 заключается в добавлении одной строки в функцию kvm_mmu_get_child_sp(), и его уже содержит коммит 81ccda30b4e8, который приняли в основную ветку 19 июня 2026 года.


Патч включен в состав стабильных версий ядра 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211 и 5.10.260.


Администраторам KVM-хостов рекомендуется убедиться, что их дистрибутив уже содержит исправление:



  • в Debian исправление DSA-6381-1 вышло 5 июля для testing (trixie, Linux 6.12.95-1) и unstable (sid, 7.1.3-1), тогда как stable (bookworm) и oldstable (bullseye) на тот момент оставались уязвимы;

  • в SUSE и openSUSE проблеме присвоили высокий приоритет, но обновления для большинства продуктов SUSE Linux Enterprise 15 SP7 и Leap еще проходят тестирование;

  • в AlmaLinux, Rocky Linux и Oracle Linux используют пакеты, собранные на базе исходников RHEL, поэтому исправления должны появиться после соответствующего обновления Red Hat;

  • статус конкретных продуктов Red Hat и Ubuntu рекомендуется проверять в официальных CVE-трекерах.


Если установить патч по каким-то причинам невозможно, следует отключить вложенную виртуализацию через kvm_intel.nested=0 или kvm_amd.nested=0.


Независимый ИБ-исследователь Хену Ким (Hyunwoo Kim) обнаружил уязвимость Januscape в гипервизоре KVM. Баг позволяет атакующему осуществить побег из гостевой виртуальной машины и выполнить код с правами root на хосте. Проблема присутствовала в ядре Linux около 16 лет и затрагивает KVM-хосты на архитектуре x86 с процессорами Intel и AMD (ARM64 уязвимость не затрагивает). Проблеме был присвоен идентификатор CVE-2026-53359. Она представляет собой use-after-free, затрагивая код KVM/x86 и механизм, который отвечает за трансляцию адресов памяти между гостевой системой и хостом. Из-за ошибки KVM мог использовать неподходящую структуру памяти, что приводило к повреждению данных внутри ядра. Корень уязвимости заключается в том, что при поиске подходящей теневой страницы KVM сравнивал только номер гостевого фрейма (gfn), но не проверял назначение и атрибуты страницы (role). После освобождения эту область памяти мог занять другой объект ядра, однако KVM продолжал обращаться к ней как к прежней структуре и в итоге повреждал память. Опубликованный специалистом PoC-эксплоит провоцирует панику ядра хоста. То есть атакующий, арендовавший всего одну виртуальную машину, может спровоцировать сбой физического сервера, отключив все остальные VM на нем. По словам Кима, дополнительный эксплоит позволяет превратить атаку в полноценное выполнение кода с правами root, что приводит к захвату хоста и других гостевых систем. Однако публиковать этот эксплоит исследователь пока не планирует. Проблема Januscape считается первым известным guest-to-host эксплоитом для KVM, который работает на машинах на базе процессоров Intel и AMD. Хуже того, особую опасность этот баг представляет для мультитенантных x86-облаков, где недоверенным гостевым VM доступна вложенная виртуализация (nested virtualization). По словам специалиста, для реализации атаки потребуются включенная вложенная виртуализация, а также права root внутри VM, но это обычно не является проблемой для владельца облачного инстанса. Как объясняет исследователь, вложенная виртуализация вынуждает KVM использовать старый код механизма теневых таблиц даже на системах с аппаратным EPT или NPT. Для атаки не требуется участие QEMU или других компонентов в пространстве пользователя, так как проблема находится непосредственно в KVM-коде ядра. Также сообщается, что в некоторых дистрибутивах баг можно использовать для локального повышения привилегий. В частности, в RHEL файл /dev/kvm доступен всем пользователям на запись, поэтому непривилегированный атакующий способен получить права root на непропатченной системе. А если root-доступа внутри гостевой машины нет, Januscape можно объединить с другим багом, например, с цепочкой Dirty Frag. Ким сообщил о Januscape разработчикам, представив уязвимость как 0-day в рамках программы bug bounty Google kvmCTF. За эту находку специалист получил 250 000 долларов США. Исправление для CVE-2026-53359 заключается в добавлении одной строки в функцию kvm_mmuFiltered_child_sp(), и его уже содержит коммит 81ccda30b4e8, который приняли в основную ветку 19 июня 2026 года. Патч включен в состав стабильных версий ядра 7.1.3, 6.18.38, 6.12.95, 6.6.144, 6.1.177, 5.15.211 и 5.10.260. Администраторам KVM-хостов рекомендуется убедиться, что их дистрибутив уже содержит исправление: в Debian исправление DSA-6381-1 вышло 5 июля для testing (trixie, Linux 6.12.95-1) и unstable (sid, 7.1.3-1), тогда как stable (bookworm) и oldstable (bullseye) на тот момент оставались уязвимы; в SUSE и openSUSE проблеме присвоили высокий приоритет, но обновления для большинства продуктов SUSE Linux Enterprise 15 SP7 и Leap еще проходят тестирование; в AlmaLinux, Rocky Linux и Oracle Linux используют пакеты, собранные на базе исходников RHEL, поэтому исправления должны появиться после соответствующего обновления Red Hat; статус конкретных продуктов Red Hat и Ubuntu рекомендуется проверять в официальных CVE-трекерах. Если установить патч по каким-то причинам невозможно, следует отключить вложенную виртуализацию через kvm_intel.nested=0 или kvm_amd.nested=0.
Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

Другие новости


Рекомендуем

Комментарии (0)




Уважаемый посетитель нашего сайта!
Комментарии к данной записи отсутсвуют. Вы можете стать первым!