В ядре Linux устранили критическую уязвимость PwnEscape, позволяющую выбраться из виртуальной машины и получить контроль над физическим сервером. Ошибка с оценкой 9,3 балла по CVSS угрожала облачным платформам, где разные клиенты используют общую инфраструктуру.
Уязвимость PwnEscape получила идентификатор CVE-2026-99999 и затрагивает сетевой стек Linux, а не сам механизм виртуализации KVM. Исследователь Паулос Йибело из pwn.ai продемонстрировал три сценария атаки. Злоумышленник может читать память физического сервера, вызвать его аварийное завершение работы или добиться выполнения команд с правами root. Для атаки достаточно специально сформированных сетевых пакетов из гостевой системы.
Наиболее опасный сценарий позволяет нарушить изоляцию между виртуальными машинами и сервером, на котором работают чужие приложения. Получив административные права на хосте, атакующий потенциально сможет добраться до данных других клиентов и вмешаться в работу общей инфраструктуры. Под угрозой находятся облачные сервисы, VPS-хостинги, среды автоматической сборки программ, инструменты анализа вредоносного ПО и песочницы для запуска недоверенного кода.
Масштаб проблемы подтвердили специалисты Vercel. Во время проверки безопасности исследователь сумел извлечь фрагменты памяти реальных серверов облачной платформы через работающие виртуальные машины. Один специально подготовленный пакет позволял получить около 32 байт, причём операцию можно было повторять. Атака открывала возможность постепенно собирать информацию из памяти хоста, недоступную гостевой системе.
Более серьёзные последствия Йибело подтвердил в собственной лаборатории. Двух определённых сетевых пакетов хватило для аварийного завершения работы хоста, а дальнейшая эксплуатация позволила выполнять команды с правами root. Исследователь воспроизвёл атаку на системах с KVM и Firecracker, включая четыре успешных запуска цепочки получения административного доступа после полной перезагрузки тестового сервера. Выполнение произвольного кода на производственных серверах Vercel не демонстрировалось.
Причина уязвимости оказалась в неожиданном взаимодействии обычных механизмов обработки IPv4. Ядро Linux сначала проверяло заголовок сетевого пакета, но затем при вычислении контрольной суммы могло изменить уже проверенные поля. Специально подготовленные служебные данные позволяли подменить указанную длину IP-заголовка с 20 до 60 байт. При последующей обработке система принимала дополнительные байты памяти за часть пакета и могла отправить их по сети.
Особенность PwnEscape заключается в том, что для первоначальной утечки не требовалось взламывать сам гипервизор, который управляет виртуальными машинами. Злоумышленник воздействовал на сетевые функции основной операционной системы, доступные через виртуальный сетевой интерфейс. По оценке автора исследования, проблема показывает целый класс потенциальных атак, при которых программа изменяет данные уже после проверки безопасности, а остальные компоненты продолжают доверять результату.
Разработчики Linux подтвердили уязвимость 15 октября и присвоили ей критическую оценку 9,3 балла. Ошибка присутствовала в коде начиная с Linux 2.6.27. Исправления включены в версии ядра 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57, 7.2.11 и 7.3-rc7. Защита запрещает завершать вычисление контрольной суммы, если служебные параметры позволяют перезаписать IPv4-заголовок. Разработчики также готовят дополнительную проверку пакетов при поступлении в сетевой стек.
Поставщики дистрибутивов начали готовить обновления. AlmaLinux 16 октября выпустила исправленные тестовые сборки ядра для версий 8, 9 и 10. Red Hat подтвердила влияние ошибки на свои продукты, но оценила опасность несколько ниже, в 8,8 балла по CVSS. Администраторам серверов с виртуальными машинами рекомендуется установить исправленные версии ядра через штатные обновления дистрибутива. О подтверждённых атаках злоумышленников с использованием PwnEscape публично не сообщалось.
Уязвимость обнаружили во время конкурса, который Vercel запустила 18 августа с общим призовым фондом до 1 миллиона долларов. Йибело отправил первоначальный отчёт уже 20 августа, а в сентябре передал сведения разработчикам ядра Linux. При поиске ошибок исследователь применял экспериментальную систему Omega-Pwn, объединяющую автоматизированные инструменты и языковые модели для анализа исходного кода. Основную работу по выбору направлений исследования и проверке результатов выполнял человек.
За PwnEscape исследователь получил максимальную предусмотренную конкурсом награду в 50 000 долларов. За две недели организаторы приняли 1285 отчётов и выплатили участникам 242 000 долларов, причём только одну находку признали критической. Vercel заявила, что ни один из отчётов не продемонстрировал доступ к клиентским данным. Компания также привлекла других участников облачного рынка к устранению проблемы, поскольку ошибка находилась в общем коде Linux и не зависела от настроек конкретного провайдера.
В 2026 году исследователи уже находили похожие способы выхода из виртуальных машин. Уязвимость ITScape позволяла захватить хост с KVM на архитектуре arm64, а Januscape затрагивала другие механизмы виртуализации. Однако прежние атаки опирались на специфические особенности гипервизора или его конфигурации. PwnEscape выделяется тем, что использует общую сетевую подсистему Linux, поэтому потенциальный круг уязвимых сред значительно шире.