Уязвимость в ядре Linux, позволяющая обойти Sendbox-изоляцию Chrome

Исследователи безопасности из компании Google выявили в ядре Linux уязвимость (CVE-2025-38236), позволяющую повысить свои привилегии в системе. Среди прочего уязвимость даёт возможность обойти механизм sandbox-изоляции, применяемый в Google Chrome, и добиться выполнения кода на уровне ядра при выполнении кода в контексте изолированного процесса рендеринга Chrome (например, при эксплуатации другой уязвимости в Chrome). Проблема проявляется начиная с ядра Linux 6.9 и устранена в обновлениях ядра Linux 6.1.143, 6.6.96, 6.12.36 и 6.15.5. Для загрузки доступен прототип эксплоита.

Уязвимость вызвана ошибкой в реализации флага MSG_OOB, который можно выставить для сокетов AF_UNIX. Флаг MSG_OOB (“out-of-band”) позволял прикрепить дополнительный байт к отправляемым данным, который получатель мог прочитать до получения остальных данных. Данный флаг был добавлен в ядре Linux 5.15, использовался только в продуктах Oracle и в прошлом году предлагался для перевода в разряд устаревших, как не получивший распространение.

В реализации sandbox-окружении Chrome разрешены операции с UNIX-сокетами и системные вызовы send()/recv(), в которых флаг MSG_OOB допускался наряду c другими опциями и не был отдельно отфильтрован. Ошибка в реализации MSG_OOB позволяла добиться обращения к памяти после её освобождения (use-after-free) после выполнения определённой последовательности системных вызовов:

Release. Ссылка here.