Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

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

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 562
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 41 раз
Поблагодарили: 23 раза

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

Сообщение root:# »

Уязвимость в ядре Linux, позволяющая обойти sandbox-изоляцию 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) после выполнения определённой последовательности системных вызовов: char dummy; int socks[2]; socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, 0); recv(socks[0], &dummy, 1, MSG_OOB);
Источник: https://www.opennet.ru/opennews/art.shtml?num=63710