Уязвимость PwnEscape в ядре Linux позволяет гостевой ВМ читать память хоста

· Безопасность
Критический изъян в сетевом коде ядра Linux даёт коду внутри виртуальной машины доступ к памяти хост-системы. Утечку продемонстрировали на боевых песочницах Vercel.

cover.svg

В ядре 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

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.