В ядре 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.