Побег из KVM обнажает уязвимости в сетевой подсистеме Linux

Kvm Linux безопасность Pwnescape Cve-2026-99999 виртуализация csoonline.com

Изучите детали PwnEscape (CVE-2026-99999): критическая ошибка в сетевом стеке Linux позволяет выйти из KVM-виртуальной машины и выполнить код на хосте. Узнайте, как работает атака, какие платформы под угрозой и почему необходимо срочно обновить ядро хоста.

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

Уязвимость, отслеживаемая как CVE-2026-99999 и получившая название PwnEscape, была обнаружена исследователями из стартапа Pwn.ai, занимающегося пентестом на основе ИИ, в ходе конкурса с призовым фондом $1 млн на взлом песочницы Vercel, в которой используются микроВМ Firecracker на базе KVM. Вместо эксплуатации ошибки в самом гипервизоре KVM атака нацелена на код Linux, обрабатывающий трафик из виртуальных машин. Специально сформированные пакеты могут изменить IPv4-заголовок после того, как ядро хоста уже проверило его, из-за чего последующая обработка доверяет данным пакета, которыми манипулировали атакующие.

Исследователи Pwn.ai продемонстрировали утечку памяти хоста в производственных песочницах Vercel, а также отдельно добились сбоев хоста и выполнения кода с правами root на подконтрольных исследователям системах. Vercel подтвердила выводы, но заявила, что ни одно сообщение не указывало на доступ к файлам, секретам или данным приложений клиентов.

Исправление было включено в основную ветку ядра Linux, и обновленные версии ядра теперь доступны для нескольких дистрибутивов. Администраторам необходимо развернуть эти обновления ядра на хост-системах, поскольку обновление только гостевых ВМ не устраняет уязвимость.

Обработка контрольной суммы перезаписывает проверенные заголовки

Проблема связана с механизмом checksum offloading — оптимизацией производительности, которая позволяет Linux откладывать расчет контрольной суммы пакета. Вместе с пакетом ядро передает метаданные, указывающие, где должен начаться этот расчет и куда следует записать его результат, но в виртуальных сетях эти инструкции могут исходить от недоверенной гостевой системы.

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

В своей демонстрации исследователям удалось изменить длину заголовка с 20 до 60 байт, при том что в буфере пакета содержалось только 28 байт допустимых данных. Затем процесс фрагментации скопировал 32 байта за пределами этих допустимых данных в исходящие пакеты, что привело к утечке памяти хоста. Повторяя процесс, исследователи смогли проводить наблюдения и управлять выделением памяти, чтобы добиться записи в память ядра хоста и запустить вспомогательную программу с правами root. Полные шаги эксплуатации, превращающие эту атаку из утечки памяти в выполнение кода, пока не раскрыты публично, но исследователи планируют отдельную публикацию.

«Зависящая от аллокатора цепочка записи, контроль времени жизни объектов и другие адаптации к конкретному гипервизору достаточно масштабны, чтобы потребовать отдельной статьи, — заявили они. — Хотя мы подозреваем, что индустрия безопасности воспользуется этим постом, чтобы вычислить другие затронутые гипервизоры; мы ожидаем, что эксплойты для более слабых конфигураций появятся в течение недель, а эксплойты, работающие в конфигурациях гипервизора по умолчанию, — менее чем через месяц».

Поверхность атаки выходит за пределы KVM

PwnEscape отличается от других атак с выходом из виртуальной машины, нацеленных на обработку гипервизором виртуальных процессоров или памяти. Например, уязвимость Januscape, раскрытая ранее в этом году, затрагивала код управления памятью KVM, но в случае этого эксплойта уязвимый код находится в IPv4-подсистеме сетевого стека хоста Linux.

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

Принятый патч, написанный разработчиком Red Hat Майклом С. Циркиным, добавляет проверку в пяти точках завершения вычисления контрольной суммы, включая фрагментацию IPv4, отслеживание соединений на мосту и фильтрацию пакетов. В сообщении коммита указано, что «более полная проверка на входе появится позже, но требует дополнительной работы».

Влияние уязвимости на другие гипервизоры и контейнерные технологии еще предстоит выяснить. Red Hat относит компоненты OpenShift Container Platform к затронутым, но другие технологии виртуализации, такие как Docker или Xen, пока не выпустили бюллетени безопасности.

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

«Побег из виртуальной машины — это очередная уязвимость ядра, поскольку KVM живет внутри ядра Linux, но последствия гораздо серьезнее, — рассказал изданию CSO Алекс Зенла, технический директор и сооснователь компании Edera, специализирующейся на безопасности контейнеров. — Когда гостевая система совершает побег, она попадает не в аккуратно изолированный гипервизор, а на самые нижние уровни операционной системы, которой принадлежат процессы, драйверы и сетевой стек хоста. Это критично и совершенно иная модель безопасности, чем гипервизор с намеренно минимальным привилегированным слоем».

В этом году в KVM и других компонентах виртуализации на основе ядра было обнаружено несколько критических уязвимостей, некоторые из них — с помощью LLM, включая PwnEscape. Тем временем ИИ-агенты во время тестов были замечены за попытками выйти из песочниц. Это ставит под сомнение предположения об изоляции рабочих нагрузок в виртуализированных средах.

«Архитектура безопасности должна исходить из того, что рано или поздно что-то будет скомпрометировано, и обеспечивать, чтобы компрометация не превратилась в полный захват хоста», — заявил Зенла.

AWS сообщает, что ее управляемые сервисы EC2, Lambda и Fargate не затронуты CVE-2026-99999, но клиентам, запускающим собственные виртуальные машины KVM с сетевыми интерфейсами virtio-net на уязвимых хостах, необходимо применить соответствующие обновления ядра. Администраторам следует руководствоваться бюллетенями безопасности своих дистрибутивов, поскольку исправления могут быть перенесены на более старые версии ядра.

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

В тренде:


Похожие новости: