Уязвимость PwnEscape в ядре Linux позволяет гостевой ВМ читать память хоста
В ядре Linux раскрыли критическую уязвимость, которая позволяет коду, работающему внутри виртуальной машины, читать память хост-компьютера. Исследователь продемонстрировал утечку на действующих облачных песочницах Vercel, и компания это подтвердила.
Изъяну присвоен идентификатор CVE-2026-99999 и прозвище PwnEscape. Он находится в сетевом коде ядра Linux, а не в настройках конкретного облака, поэтому затрагивает тот общий слой, на котором провайдеры изолируют друг от друга рабочие нагрузки клиентов. Уязвимость нашли в рамках конкурса безопасности Vercel и сообщили о ней приватно; признаков использования в реальных атаках нет.
Что показал исследователь
Паулос Йибело из компании pwn.ai выяснил, что специально сформированные сетевые пакеты из виртуальной машины позволяют сделать три вещи: прочитать память хоста, уронить его и выполнить на нём код. Все три возможности вытекают из одного и того же дефекта ядра.
По данным Vercel, утечку памяти продемонстрировали именно на боевых песочницах. Каждый отправленный гостем пакет уносил с собой около 32 байт памяти хоста, и так можно было продолжать сколько угодно. Крах системы и выполнение кода наблюдались только на собственных машинах исследователя, настроенных под Vercel: двух пакетов хватало, чтобы обрушить хост и все работающие на нём песочницы. Используя тот же дефект, исследователь получил административный контроль над хостом — но подчеркнул, что это лабораторный результат, а не захват продакшена какого-либо вендора.
Vercel отметила, что ни в одном отчёте конкурса никто не смог прочитать файлы, секреты или данные приложений другого клиента.
Насколько опасно
Сопровождающие ядра оценили уязвимость в 9,3 из 10 — «критическая». Вектор атаки указан как локальный: злоумышленнику нужно уже выполнять код внутри гостевой ВМ. Удалённо, пакетами из открытого интернета, изъян эксплуатировать нельзя. В каталоге активно эксплуатируемых уязвимостей CISA он не числится.
Почему это касается не только Vercel
Vercel Sandbox запускает код каждого клиента в отдельной микро-ВМ Firecracker на выделенных хостах Amazon EC2. Эта микро-ВМ и есть стена между клиентами и хостом. Уязвимость находится не в стене, а в сетевом коде ядра, которое исполняет хост. По словам pwn.ai, песочница Vercel была защищена сверх обычных отраслевых стандартов, и никаких ошибок конфигурации найти не удалось. Поскольку почти все крупные облака разделяют нагрузки на том же уровне ядра, риск касается общей инфраструктуры в целом.
Исправление
Правка — один коммит в ядре (6785011f8b16) авторства Михаила Циркина из Red Hat, принятый в основную ветку. Он добавляет проверку того, что данные контрольной суммы пакета не указывают внутрь IPv4-заголовка, в пяти местах сетевого кода. Автор называет это мерой «глубокой защиты» и признаёт, что более полная проверка на входе ещё требует работы. Исправление бэкпортировано в стабильные ветки.
Обновлять нужно ядро хоста и перезагружаться в него — обновление ядра гостя ничего не исправляет. Дистрибутивы нередко вносят такую правку, не меняя номер версии, поэтому проверяйте бюллетень своего дистрибутива, а не только вывод uname.
Найдено в конкурсе на миллион
Изъян обнаружили в двухнедельном конкурсе Vercel в августе с общим призовым фондом до 1 млн долларов. Таких выплат не было: максимум за отчёт составил 50 тыс. долларов, а всего компания выплатила 242 тыс. за 1285 отчётов — и это была единственная критическая находка. В pwn.ai говорят, что нашли её за три дня с помощью собственной системы на базе ИИ: модель анализировала исходный код, а люди направляли работу. Затраты оценили менее чем в 700 долларов на токены API.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.