Выход из Firecracker: PwnEscape доводит гостя до root на хосте
Исследователи pwn.ai показали полный выход из microVM Firecracker: гостевая система находит процесс гипервизора в памяти хоста и подменяет регистры его потока. Цепочка опирается на критическую CVE-2026-99999 в сетевом стеке ядра Linux с оценкой 9,3.
Что случилось
Специалисты pwn.ai опубликовали вторую часть исследования PwnEscape и продемонстрировали выход за пределы microVM Firecracker с выполнением кода от имени root в процессе хоста. Атака опирается на уязвимость CVE-2026-99999 в сетевом стеке ядра Linux, раскрытую 15 октября 2026 года.
Детали
Проблема возникает при вычислении контрольной суммы IPv4 для пакетов, пришедших с метаданными offload: гость может заставить хост записать два байта в заголовок, который ядро уже проверило. Опасный код присутствует в ядре с версии 2.6.27, то есть с 2008 года. Исправление попало в mainline 14 октября, 15 октября вышли семь стабильных веток с патчем, оценка уязвимости — 9,3 по CVSS 3.1.
- гость находит собственную страницу памяти в физическом адресном пространстве хоста, перебирая кандидатов на корень таблиц EPT и сверяя содержимое по заранее записанному маркеру;
- затем по таблицам страниц хоста вычисляется процесс Firecracker, отобразивший эту страницу;
- в процессе находится поток активного vCPU и его сохранённый кадр pt_regs — набор регистров, куда ядро вернётся после ioctl(KVM_RUN);
- подмена указателя инструкций и указателя стека заставляет Firecracker при возврате из системного вызова выполнить выбранный атакующим код;
- Firecracker при этом не падал, а виртуальная машина оставалась доступной по SSH.
Первая часть работы описывала примитив доступа к памяти хоста, вторая доводит цепочку до захвата потока гипервизора. Автор исследования — Паулос Ибело, публикация появилась в начале ноября.
Сам по себе PwnEscape даёт не только запись двух байтов: через испорченный заголовок гость получает утечку памяти хоста в отправляемых пакетах. Утечку демонстрировали на production-песочницах Vercel, а код с правами root исследователь запускал на собственных стендах с KVM и Firecracker, собранных по той же схеме. Публичного эксплойта и сообщений о реальных атаках на момент публикации не было.
Что это значит
Firecracker создавался Amazon как лёгкая замена полноценным гипервизорам для изоляции чужих нагрузок, в том числе в AWS Lambda, и на нём строятся платформы, где в одной машине живут арендаторы. Пока цепочка требует уязвимого ядра на стороне хоста: если патч CVE-2026-99999 установлен, рабочий примитив закрывается. Практический вывод для администратора — проверить версию ядра на всех хостах виртуализации, а не только там, где стоят привычные KVM-гости. На EL8–EL10 устройство /dev/kvm доступно на запись всем пользователям по умолчанию, поэтому локальный пользователь тоже может поднять свою машину и атаковать хост изнутри. Изоляция microVM сужает поверхность атаки, но не отменяет регулярного обновления ядра.
Комментарии 0
Комментариев пока нет — будьте первым.
Оставить комментарий
Имя и текст — этого достаточно. Комментарий появится сразу; подозрительные сообщения уходят на проверку.