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().

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

Энтузиаст собрал «идеальную» PlayStation, объединив две версии консоли

Пока одни ностальгируют по первой PlayStation, другие берут паяльник и пытаются сделать её лучше, чем она когда-либо была. Именно этим занялся моддер с ником thedrew (он же Secret Hobbyist), который решил собрать «идеальную» PS1, объединив сразу две версии консоли.

Напомним, оригинальная PlayStation вышла в 1994 году и задала тон всей индустрии 3D-игр.

А спустя несколько лет появилась компактная PS One — более энергоэффективная и холодная, но с упрощённой аудиосистемой. В итоге у каждой версии были свои плюсы и минусы. И вот теперь энтузиаст решил взять от них всё лучшее. 

В новой гибридной консоли он использовал процессор, графику и память от PS One за их энергоэффективность. А вот аудиочип, контроллер CD-привода и BIOS позаимствовал у оригинальной PS1, чтобы сохранить качество звука и совместимость.

 

Всё это надо было не просто «скрутить проводами», а аккуратно пересобрать на собственной плате. Моддер выпаял нужные чипы с обеих консолей и перенёс их на кастомный PCB, фактически создав новую материнскую плату с нуля.

 

Но на этом он не остановился. В проект сразу встроили ещё два популярных мода. Первый — XStation, который позволяет запускать игры с microSD вместо дисков. Второй — HDMI-мод с FPGA, подключающийся напрямую к GPU и выдающий картинку вплоть до 1080p (с апскейлом с 480p). Причём даже с эффектом сканлайнов, как на старых CRT-телевизорах.

В итоге получилась компактная и очень экономичная система: вся плата потребляет меньше 2 ватт и работает от 3 вольт. По сути, это уже задел под портативную версию консоли.

 

Правда, проект пока ещё не завершён. Корпуса нет, питание подаётся «напрямую» через зажимы, а некоторые элементы вроде разъёма для карты памяти пока висят на проводах. Но главное — консоль уже работает, а игры на ней запускаются без проблем.

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