Исследователи из pwn.ai нашли уязвимость CVE-2026-99999 в сетевом стеке ядра Linux и дали ей имя PwnEscape. Недоверенная гостевая виртуальная машина читает память хоста, а в лабораторных условиях авторы прошли этот путь до полного выхода на хост. Ошибка находится не в KVM (модуль ядра Linux для виртуализации) и не в гипервизоре как таком, а в обработке сетевых пакетов.
CVE-2026-99999 в сетевом стеке ядра Linux
Находка появилась во время конкурса Vercel с призовым фондом 1 миллион долларов. Компания объявила его 18 августа 2026 года и предложила исследователям сломать изоляцию продукта Sandbox. Объявление вышло через несколько недель после того, как OpenAI рассказала об ИИ-агентах, обходивших сетевую изоляцию в закрытых тестовых средах. Vercel назвала отчёт pwn.ai самым важным за время программы и зафиксировала единственную находку критического уровня.
Работу вели не только люди. Исследователи применили экспериментальный инструмент Omega-Pwn, собранный из собственной архитектуры pwn.ai и элементов OmegaClaw. Разбор исходного кода выполняла модель GPT-5.6 Sol. Люди задавали рамки и решали, что считать доказательством. Первый рабочий примитив, то есть базовую операцию чтения памяти, получили за три дня. Весь поиск обошёлся меньше чем в 700 долларов на оплату API.
Как устроена утечка памяти
Linux не всегда считает контрольную сумму сразу. Ядро помечает пакет как "сумма ещё не вычислена" и хранит два числа: откуда начинать отсчёт и куда записать результат. Гость управляет этими значениями через virtio, стандартный интерфейс обмена данными между виртуальной машиной и хостом.
Дальше порядок операций играет против хоста. Сначала ядро разбирает заголовок IPv4 длиной 20 байт и принимает решения по маршрутизации. Позже, при фрагментации исходящего трафика, наступает очередь отложенной контрольной суммы. Подставленные метаданные заставляют её перезаписать первый байт заголовка. Длина заголовка в восприятии ядра меняется с 20 байт на 60.
Логический линейный буфер пакета занимал 28 байт. Фрагментатор счёл, что заголовок занимает 60, и скопировал в исходящий пакет 32 байта памяти ядра хоста под видом опций IP. Эти байты уходят наружу вместе с обычным трафиком. Расхождение детерминированное, а не гонка потоков, и исследователи называют такой шаблон инверсией доверия к отложенным метаданным.
От утечки к выходу на хост
Утечка памяти хоста сама по себе серьёзный результат для многоарендной среды. Гость видит данные из домена, который ему наблюдать не положено. Дальше исследователи перешли к записи. На своих тестовых хостах с KVM они получили управляемые записи по 64 байта в память ядра хоста, а затем запустили вспомогательный процесс с правами root на хосте и вернули гостю метку, созданную на хосте. Цепочка прошла четыре холодных перезагрузки.
Отдельно подтвердился отказ в обслуживании на тестовых системах с Linux 6.12 и 7.x. Авторы подчёркивают, что речь идёт о своих лабораторных стендах, а не о получении root в продакшене у какого-либо вендора. По их оценке, эксплойты (вредоносный код, использующий уязвимость) для слабых конфигураций появятся в течение недель. Для настроек гипервизоров по умолчанию срок меньше месяца.
Что закрывает исправление
Принятое в основную ветку исправление добавляет проверку перед вычислением контрольной суммы. Начало контрольной суммы не должно попадать внутрь заголовка IPv4. Проверку поставили перед завершением контрольной суммы в пяти местах сетевого стека. Патч написал Michael S. Tsirkin; в описании он называет меру защитой в глубину и отмечает, что проверка входных данных требует отдельной работы.
В ветке net.git патч оказался 8 октября 2026 года, в основное дерево ядра его включили 14 октября. Проверка закрывает конкретный путь перезаписи заголовка. Она не подтверждает, что цель записи вообще относится к полю контрольной суммы нужного протокола. Это отдельный вопрос корректности, и относить к нему остальные риски согласованности не следует.
Кому проверять свою конфигурацию
Пользователям и администраторам имеет смысл дождаться стабильных обновлений ядра и установить их. Сверяться лучше с живыми записями ядра: публикация CVE и перенос исправления в стабильные ветки ещё продолжаются. Поставщикам гипервизоров и изолированных сред нужно оценить, насколько они подвержены риску. Vercel уже уведомила других затронутых провайдеров.
Командам безопасности стоит отнести сетевое взаимодействие хоста к границе изоляции виртуальной машины, а не считать её заботой только гипервизора. Полезно следить за гостевым трафиком с необычными опциями IPv4.
Работа pwn.ai описывает класс ошибок, в котором недоверенные метаданные меняют поля пакета уже после проверки. Границы изоляции держатся не только на гипервизоре: гость взаимодействует со всем сетевым стеком хоста, включая эмуляцию устройств и обработку пакетов. Вторая часть исследования, обещают авторы, разберёт переход от примитива чтения к управлению хостом.
Ссылки