CVE-2025-38236: баг в Linux открывал путь к захвату ядра через Chrome

CVE-2025-38236: баг в Linux открывал путь к захвату ядра через Chrome

CVE-2025-38236: баг в Linux открывал путь к захвату ядра через Chrome

В Linux-ядре нашли опасную уязвимость CVE-2025-38236, которую обнаружил исследователь из Google Project Zero Янн Хорн. Она позволяет злоумышленнику, начав с выполнения кода внутри песочницы Chrome, добраться до полного контроля над ядром в Linux.

Проблема связана с малоизвестной функцией MSG_OOB (out-of-band) в UNIX domain sockets. Её добавили ещё в Linux 5.15 в 2021 году для специфических приложений Oracle, но она была включена по умолчанию и в итоге оказалась доступна из песочницы Chrome на Linux.

Ошибка приводит к use-after-free — состоянию, при котором система обращается к уже освобождённой области памяти. Хорн показал, что с помощью определённой последовательности операций с сокетами можно читать и изменять память ядра, а значит — повышать привилегии.

Эксплойт был протестирован на Debian Trixie (x86-64) и использовал «примитив чтения» для копирования произвольной памяти ядра в пространство пользователя, обходя защиту usercopy hardening. Хорн нашёл способ использовать даже защитный механизм Debian CONFIG_RANDOMIZE_KSTACK_OFFSET в свою пользу — это помогало точнее выровнять стек для успешной атаки.

Уязвимость уже закрыта в обновлениях Linux, а Chrome изменил работу своей песочницы, заблокировав передачу MSG_OOB-сообщений.

Интересно, что похожая ошибка попадалась фреймворку syzkaller ещё в августе 2024 года, но для её воспроизведения требовалось шесть системных вызовов, а найденный Хорном вариант — восемь. Это подчёркивает, насколько сложно автоматическим инструментам находить такие уязвимости.

Отдельно Хорн отметил, что в Linux-песочнице Chrome остаётся много лишних интерфейсов — от UNIX-сокетов и pipe до syscalls вроде sendmsg() и mprotect(). Ранее через подобные механизмы уже находили баги в futex(), memfd_create() и pipe2().

Эксперт считает, что такие случаи — сигнал к ужесточению настроек песочниц и более внимательному контролю за «экзотическими» возможностями ядра, доступными непривилегированным процессам.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Линус Торвальдс назвал патчи Google для RISC-V в Linux мусором

Линус Торвальдс снова высказался в своём фирменном стиле — на этот раз в адрес инженера Google из команды Android, Пальмера Даббелта. Поводом стали патчи для архитектуры RISC-V, предложенные в Linux Kernel 6.17, который сейчас находится в стадии merge window.

Торвальдс резко раскритиковал не только качество кода, но и время его отправки:

«Нет. Это мусор, и он пришёл слишком поздно. Я просил присылать пул-реквесты заранее, потому что я в поездке. Если вы не можете следовать этому правилу, то хотя бы делайте пул-реквесты качественными».

По его словам, изменения включали «всякий хлам», не относящийся к RISC-V, в общие заголовочные файлы ядра. И, как подчеркнул Торвальдс, «это то, что никто никогда не должен мне присылать — тем более поздно в merge window».

Фактически он посоветовал Даббелту перенести правки на следующий релиз — Linux Kernel 6.18 — вместо того, чтобы пытаться «додавить» их в текущий.

Хотя формально merge window не запрещает отправку новых изменений, негласное правило простое: код в этот период должен быть полностью готов и чист. В этот раз, по мнению Торвальдса, условие нарушено, поэтому его резкая реакция вряд ли стала неожиданностью для сообщества.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru