Уязвимость, присутствовавшая 12 лет в polkit, позволяла получить привилегии root 

Несколько дней назад появилась новость о том, что Исследовательская группа Qualys обнаружила уязвимость повреждения памяти в polkit pkexec, корневая программа SUID, которая устанавливается по умолчанию во всех основных дистрибутивах Linux.

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

Полкит (ранее известный как PolicyKit) это компонент для общесистемного контроля привилегий в Unix-подобных операционных системах. Он обеспечивает организованный способ взаимодействия непривилегированных процессов с привилегированными процессами, а также можно использовать polkit для запуска команд с повышенными привилегиями, используя команду pkexec, за которой следует команда, которую он предназначен для запуска (с правами суперпользователя).

Об уязвимости

Уязвимость лежит в pkexec, для ваш код содержит ошибку обработки указателя, некоторые из которых в конечном итоге ссылаются на области памяти, которые не должны. Используя эту уязвимость, можно практически мгновенно получить права администратора.

Уязвимость, внесенная в каталог как CVE-2021-4034, получила оценку CVSS 7,8, и команда Qualys объяснила это в сообщении в блоге следующим образом:

Уязвимость pkexec открывает злоумышленнику доступ к root-привилегиям. По его словам, исследователи Qualys продемонстрировали использование стандартных установок Ubuntu, Debian, Fedora и CentOS, а также других дистрибутивов Linux, которые также считаются уязвимыми.

«Успешная эксплуатация этой уязвимости позволяет любому непривилегированному пользователю получить привилегии root на уязвимом хосте. Исследователи безопасности Qualys смогли независимо проверить наличие уязвимости, разработать эксплойт и получить полные привилегии суперпользователя при стандартных установках Ubuntu, Debian, Fedora и CentOS. Другие дистрибутивы Linux, вероятно, уязвимы и могут быть использованы. Эта уязвимость была скрыта более 12 лет и затрагивает все версии pkexec с момента ее первого выпуска в мае 2009 г. (подтвердите c8c3d83, «Добавить команду pkexec(1)»).

«Как только наша исследовательская группа подтвердила наличие уязвимости, Qualys взяла на себя обязательство ответственно раскрывать информацию об уязвимости и координировала свои действия с поставщиками и дистрибутивами с открытым исходным кодом, чтобы объявить об уязвимости».

Проблема возникает, когда функция main() от pkexec аргументы командной строки процесса y que argc равен нулю. Функция по-прежнему пытается получить доступ к списку аргументов и заканчивает тем, что пытается использовать rgvvoid (вектор ARGument строк аргументов командной строки). В результате память читается и записывается за пределы границ, что злоумышленник может использовать для внедрения переменной среды, которая может вызвать загрузку произвольного кода.

Тот факт, что эти переменные могут быть введены повторно, делает код уязвимым. По крайней мере, метод эксплуатации, предлагаемый Qualys (внедрение переменной GCONV_PATH в среду pkexec для запуска общей библиотеки от имени пользователя root), оставляет следы в файлах журналов.

В бюллетене по безопасности Red Hat опубликовала следующее заявление:

«Red Hat знает об уязвимости, обнаруженной в pkexec, которая позволяет аутентифицированному пользователю выполнить атаку с повышением привилегий».

«Основной риск для клиентов заключается в том, что непривилегированный пользователь может получить административные привилегии в уязвимых системах. Злоумышленник должен иметь доступ к целевой системе для проведения атаки».

Стоит отметить, что уязвимость уже была обнаружена в 2013 году и был подробно описан в сообщении в блоге, даже если PoC не было предоставлено:

«Лол, я писал об этой уязвимости polkit в 2013 году. Я не смог найти фактический путь эксплойта, но я определил основную причину».

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


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

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

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

Ваш электронный адрес не будет опубликован.

*

*

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