В ядре Linux обнаружено несколько уязвимостей

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

Первая из уязвимостей CVE-2022-0995 и это присутствует в подсистеме отслеживания событий «watch_queue» и это приводит к тому, что данные записываются в область памяти ядра за пределами выделенного буфера. Атака может быть осуществлена ​​любым пользователем без привилегий, а их код может быть выполнен с привилегиями ядра.

Уязвимость присутствует в функции watch_queue_set_size() и связана с попыткой очистить список от всех указателей, даже если для них не была выделена память. Проблема проявляется при сборке ядра с опцией "CONFIG_WATCH_QUEUE=y", которая используется в большинстве дистрибутивов Linux.

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

Второй обнаруженной уязвимостью является CVE-2022-27666 что присутствует в модулях ядра esp4 и esp6 которые реализуют преобразования Encapsulating Security Payload (ESP) для IPsec, которые используются при использовании как IPv4, так и IPv6.

Уязвимость позволяет локальному пользователю с обычными привилегиями перезаписывать объекты в памяти ядра и повышать свои привилегии в системе. Проблема связана с несоответствием размера выделенной памяти и фактически полученных данных, так как максимальный размер сообщения мог превышать максимальный размер выделенной памяти для структуры skb_page_frag_refill.

Упоминается, что уязвимость была исправлена ​​в ядре 7 марта (исправлено в 5.17, 5.16.15 и т. д.), плюс опубликован рабочий прототип от эксплойта, который позволяет обычному пользователю получить root-доступ в Ubuntu Desktop 21.10 с настройками по умолчанию на GitHub.

Утверждается, что с небольшими изменениями эксплойт также будет работать на Fedora и Debian. Следует отметить, что изначально эксплойт был подготовлен для конкурса pwn2own 2022, но связанный с ним баг был выявлен и исправлен разработчиками ядра, поэтому было принято решение раскрыть подробности уязвимости.

Другие обнаруженные уязвимости: CVE-2022-1015 y CVE-2022-1016 в подсистеме netfilter в модуле nf_tables который питает фильтр пакетов nftables. Исследователь, выявивший проблемы, сообщил о подготовке рабочих эксплойтов для обеих уязвимостей, которые планируется выпустить через несколько дней после того, как дистрибутивы выпустят обновления пакетов ядра.

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

Уязвимость связана с к тому, что разработчики подразумевали, что значение "enum nft_registers reg" равно одному байту, в то время как когда определенные оптимизации включены, компилятор, согласно спецификации C89, вы можете использовать 32-битное значение для этого. Из-за этой особенности размер, используемый для проверки и выделения памяти, не соответствует фактическому размеру данных в структуре, что приводит к замыканию структуры на указателях стека.

Эту проблему можно использовать для выполнения кода на уровне ядра. но для успешной атаки требуется доступ к nftables.

Их можно получить в отдельном сетевом пространстве имён (сетевых пространствах имён) с правами CLONE_NEWUSER или CLONE_NEWNET (например, если вы можете запустить изолированный контейнер). Уязвимость также тесно связана с используемыми компилятором оптимизациями, которые, например, включаются при компиляции в режиме "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". Эксплуатация уязвимости возможна, начиная с ядра Linux 5.12.

Встречается вторая уязвимость в netfilter при доступе область памяти уже освобождена (use-after-free) в драйвере nft_do_chain и может вызвать утечку неинициализированных областей памяти ядра, которые можно прочитать, манипулируя выражениями nftables, и использовать, например, для определения адресов указателей при разработке эксплойтов для других уязвимостей. Эксплуатация уязвимости возможна, начиная с ядра Linux 5.13.

Уязвимости были устранены в недавно выпущенных корректирующих обновлениях ядра.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

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

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

*

*

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