Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
| Помогли мы вам |
Независимый ИБ-исследователь Хену Ким (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-хостов рекомендуется убедиться, что их дистрибутив уже содержит исправление:
Если установить патч по каким-то причинам невозможно, следует отключить вложенную виртуализацию через kvm_intel.nested=0 или kvm_amd.nested=0.
|
|
|