В ядре Linux были обнаружены две уязвимости, которые по-прежнему позволяли пользователям повышать свои привилегии. 

уязвимость

При эксплуатации эти недостатки могут позволить злоумышленникам получить несанкционированный доступ к конфиденциальной информации или вообще вызвать проблемы.

Несколько дней назад появилась новость о том, что Были обнаружены две уязвимости в подсистемы линукс ядро, Netfilter и io_uring, которые позволяют локальному пользователю повышать свои привилегии в системе.

Первый — уязвимость. (CVE-2023-32233), обнаруженный в подсистеме Netfilter. и вызвано обращением к памяти use-after-free в модуле nf_tables, что обеспечивает работу фильтра пакетов nftables.

Эта ошибка связана с тем, что netfilter nf_tables позволяет обновлять свою конфигурацию. для пакетных запросов, которые группируются вместе несколько основных операций в атомарных транзакциях.

Проблема воспроизводился в различных версиях ядра Linux, включая Linux 6.3.1. (текущая стабильная версия), и эту уязвимость можно использовать, отправив специально созданные запросы на обновление конфигурации nftables. Упоминается, что для атаки требуется доступ к nftables, который можно получить в отдельном сетевом пространстве имен, если у вас есть права CLONE_NEWUSER, CLONE_NEWNS или CLONE_NEWNET (например, если вы можете запустить изолированный контейнер).

По этому багу исследователь, выявивший проблему, пообещал на неделю отложить публикацию подробной информации и примера работающего эксплойта, обеспечивающего рут-шелл.

В определенном сценарии недопустимый пакетный запрос может содержать операцию, которая неявно удаляет существующий анонимный набор nft, за которой следует другая операция, пытающаяся воздействовать на тот же анонимный набор nft после его удаления. В приведенном выше сценарии примером описанной выше операции является удаление существующего правила nft, использующего анонимный набор nft. И примером последней операции является попытка удалить элемент из этого анонимного массива nft после того, как массив будет поочередно удален, последняя операция может даже попытаться снова явно удалить этот анонимный массив nft. 

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

Обнаружена вторая неисправность, была уязвимость (CVE-2023-2598) в реализация интерфейса асинхронного ввода/вывода io_uring входит в ядро ​​Linux начиная с версии 5.1.

Проблема вызвана ошибкой в ​​функции io_sqe_buffer_register, которая разрешает доступ к физической памяти за пределами статически выделенного буфера. Проблема появляется только в ветке 6.3 и будет исправлена ​​в следующем обновлении 6.3.2.

Упоминается, что идея исходного коммита заключается в том, что вместо разделения больших страниц, которые буферизуются, на отдельные записи bvec, вы можете иметь одну запись bvec для всех буферизованных частей страницы. В частности, если все страницы в карте буфера используют структуру первой страницы и длину буфера в одной записи bvec вместо сопоставления каждой страницы по отдельности.

Таким образом, bvec будет выходить далеко за пределы одной страницы, к которой ему действительно разрешено прикасаться. Позже IORING_OP_READ_FIXED и IORING_OP_WRITE_FIXED позволяют нам читать и писать в буфер (т. е. в память, на которую указывает bvec) по желанию. Это позволяет доступ для чтения/записи к физической памяти за единственной страницей, которая у нас есть.

В публикации об уязвимости упоминаются этапы воспроизведения ошибки:

1. Создайте мемфд
2. Ошибка одной страницы в этом файловом дескрипторе
3. Используйте MAP_FIXED для многократного сопоставления этой страницы с последовательными местоположениями.
4. Зарегистрируйте всю область, которую вы только что заполнили на этой странице, как
фиксированный буфер с IORING_REGISTER_BUFFERS
5. Используйте IORING_OP_WRITE_FIXED для записи буфера в другой файл.
(Чтение OOB) или IORING_OP_READ_FIXED для чтения данных в буфере (
ООБ пишите).

Наконец, стоит упомянуть, что уже доступен  рабочий прототип эксплойта (CVE-2023-2598) для тестирования, что позволяет запускать код с привилегиями ядра.

Уязвимость (CVE-2023-32233) она была исправлена ​​в обновлении 6.4-rc и вы можете следить за исправлением уязвимости в раздачах на страницах: DebianUbuntuGentooRHELFedoraSUSE/открытьSUSEАрка.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.