Уязвимость в ядре позволяет повысить привилегии путем манипулирования каталогом.

уязвимость systemd

Недавно Исследователи безопасности Qualys (компания, занимающаяся облачной безопасностью, соответствием и сопутствующими услугами) опубликовал подробности об уязвимости что они обнаружили и что они влияют на ядро ​​Linux.

CVE-2021-33909 влияет на ядро ​​и позволяет локальному пользователю выполнять код. и повышать привилегии, манипулируя сильно вложенными каталогами.

Уязвимость связана с отсутствием проверки результата преобразования size_t в тип int. перед выполнением операций с кодом seq_file, который создает файлы из последовательности записей. Отсутствие проверки может привести к записи в область за пределами буфера при создании, монтировании и удалении структуры каталогов с очень высоким уровнем вложенности (размер пути больше 1 ГБ).

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

В результате злоумышленник может получить 10-байтовую строку «// удалено» со смещением «- 2 ГБ - 10 байт», указывая на область непосредственно перед выделенным буфером.

Угроза уязвимости усугубляется тем, что исследователи смогли подготовить функциональные эксплойты в Ubuntu 20.04, Debian 11 и Fedora 34 с настройками по умолчанию. Следует отметить, что другие дистрибутивы не тестировались, но теоретически они также подвержены данной проблеме и могут быть атакованы.

Успешное использование этой уязвимости позволяет любому непривилегированному пользователю получить привилегии root на уязвимом хосте. Исследователи безопасности Qualys смогли независимо проверить уязвимость, разработать эксплойт и получить полные привилегии root в установках по умолчанию Ubuntu 20.04, Ubuntu 20.10, Ubuntu 21.04, Debian 11 и Fedora 34 Workstation. Другие дистрибутивы Linux, вероятно, будут уязвимы и, вероятно, пригодны для использования.

Работа эксплойта сводится к созданию иерархии примерно из миллиона каталогов. вложен через вызов mkdir () для достижения размера пути к файлу более 1 ГБ.

Этот каталог монтируется путем привязки в отдельном пространстве имен пользователя, после чего запускается функция rmdir () для его удаления. Параллельно создается поток, который загружает небольшую программу eBPF, которая зависает на сцене после проверки псевдокода eBPF, но до его JIT-компиляции.

В пространстве имен идентификаторов непривилегированных пользователей файл / proc / self / mountinfo открывается и считывает длинный путь к каталогу, смонтированный с помощью bind-mount, в результате чего строка «// удалено» записывается в область перед началом буфера. Позиция для записи строки выбирается таким образом, чтобы она перезаписывала инструкцию в уже протестированной, но еще не скомпилированной программе eBPF.

Кроме того, на уровне программы eBPF, неконтролируемая запись из буфера превращается в возможность чтения / записи контролируется в других структурах ядра путем манипулирования структурами btf и map_push_elem.

Затем эксплойт помещает буфер modprobe_path [] в память ядра и перезаписывает в нем путь «/ sbin / modprobe», позволяя запускать любой исполняемый файл с правами root, если выполняется вызов request_module (), который выполняется, например, при создании сокет netlink ...

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

По этой причине рекомендуется установить для параметра «/ proc / sys / kernel / unprivileged_userns_clone» значение 0, чтобы отключить монтирование каталогов в отдельном пространстве имен идентификаторов пользователей, и «/ proc sys / kernel / unprivileged_bpf_disabled» на 1, чтобы отключить загрузку программ eBPF. в ядро.

Помимо того, что всем пользователям дистрибутива Linux также рекомендуется обновить свою систему, чтобы получить соответствующий патч. Проблема очевидна с июля 2014 года. и это влияет на версии ядра, начиная с 3.16. Патч уязвимости был согласован с сообществом и принят в ядро ​​19 июля.

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


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

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

*

*

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