Необнаруженная ошибка 7-летней давности позволяет повысить привилегии с помощью polkit

Кевин Бэкхаус (исследователь безопасности) общий несколько дней назад в блоге GitHub заметили, что обнаружил ошибку в сервисе polkit связан с systemd (общая система Linux и компонент диспетчера служб), с которым уязвимость семилетней давности, разрешено проводить эскалацию привилегий который скрывался в различных дистрибутивах Linux и на прошлой неделе был исправлен скоординированным выпуском.

Polkit - это набор инструментов на уровне приложения для определения политики и управления ею. что позволяет непривилегированные процессы Поговорите с привилегированными процессами, он устанавливается по умолчанию в различных дистрибутивах Linux. Уязвимость была представлена ​​в версии 0.113 семь лет назад (фиксация bfa5036) и была исправлена ​​3 июня после ее недавнего раскрытия исследователем безопасности Кевином Бэкхаусом.

Как член лаборатории безопасности GitHub, моя работа заключается в том, чтобы помочь повысить безопасность программного обеспечения с открытым исходным кодом, обнаруживая уязвимости и сообщая о них. Несколько недель назад я обнаружил уязвимость повышения привилегий в polkit. Скоординированное раскрытие уязвимостей с разработчиками polkit и командой безопасности Red Hat. Он был выпущен публично, исправление было выпущено 3 июня 2021 года и ему присвоена CVE-2021-3560.

«Каждая система Linux, использующая уязвимую версию polkit, потенциально подвержена атакам, использующим уязвимость CVE-2021-3560», - говорит Бэкхаус. говорит, что уязвимость на удивление легко использовать, поскольку для этого требуется всего несколько команд с использованием стандартных инструментов терминала, таких как bash, kill и dbus-send.

«Уязвимость запускается запуском команды dbus-send, но ее уничтожением, пока polkit все еще обрабатывает запрос», - пояснил Бэкхаус.

Бэкхаус опубликовал видео PoC атаки, использующей эту уязвимость, показывает, что ее легко активировать.

«Уязвимость позволяет непривилегированному локальному пользователю получить корневую оболочку в системе. Как вы можете видеть в этом коротком видео, это легко использовать с помощью некоторых стандартных инструментов командной строки », - написал эксперт в своем блоге.

При убийстве dbus-send (команда связи между процессами), в середине запроса аутентификации вызывает ошибку Это происходит из-за того, что polkit запрашивает UID соединения, которое больше не существует (потому что соединение было разорвано).

«Фактически, polkit неправильно обрабатывает ошибку особенно неудачным способом: вместо того, чтобы отклонить запрос, он обрабатывает его так, как если бы он исходил от процесса с UID 0», - объясняет Бэкхаус. «Другими словами, вы немедленно разрешаете запрос, потому что считаете, что запрос исходит от корневого процесса».

Это происходит не все время, потому что запрос UID polkit к dbus-daemon происходит несколько раз на разных путях кода. Обычно эти пути кода обрабатывают ошибку правильно, сказал Бэкхаус, но путь кода уязвим, и если отключение происходит, когда этот путь кода активен, происходит повышение привилегий. Все это вопрос времени, которое непредсказуемо меняется из-за того, что задействовано несколько процессов.

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

РАСПРОСТРАНЕНИЕ УЯЗВИМЫЙ?
RHEL 7 Нет
RHEL 8 да
Fedora 20 (или более ранняя) Нет
Fedora 21 (или новее) да
Debian 10 («нарушитель») Нет
Тестирование Debian да
Ubuntu 18.04 Нет
Ubuntu 20.04 да

Дистрибутивы Linux, в которых установлена ​​версия polkit 0.113 или более поздняя, ​​такие как Debian (нестабильная ветвь), RHEL 8, Fedora 21 и более поздние версии и Ubuntu 20.04, подвержены этой проблеме.

Бэкхаус полагает, что периодический характер ошибки является причиной того, что она оставалась незамеченной в течение семи лет.

«CVE-2021-3560 позволяет непривилегированному локальному злоумышленнику получить привилегии root», - сказал Бэкхаус. «Это очень просто и быстро использовать, поэтому важно, чтобы вы как можно скорее обновили свои установки Linux».

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


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

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

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

*

*

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