Обнаружена уязвимость в sudo, позволяющая изменить любой файл

уязвимость

При эксплуатации эти недостатки могут позволить злоумышленникам получить несанкционированный доступ к конфиденциальной информации или вообще вызвать проблемы.

Обнаружена уязвимость (уже указан в CVE-2023-22809) en пакет sudo, который используется для выполнения команд от имени других пользователей, позволяя локальному пользователю редактировать любой файл в системе, что, в свою очередь, позволяет получить root-права путем изменения /etc/shadow или скриптов системы .

Для эксплуатации уязвимости пользователь должен иметь права на запуск утилиты sudoedit или «sudo» с флагом «-e» в файле sudoers.

В ошибке упоминается, что sudo (su «делать») позволяет системному администратору делегировать полномочия, чтобы дать определенным пользователям (или группам пользователей) возможность выполнять некоторые (или все) команды от имени пользователя root или другого пользователя во время работы. команд и их аргументов.

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

В sudo последовательность «–» используется для разделения редактора и аргументов. из списка редактируемых файлов. Злоумышленник может добавить «–file» к переменным среды SUDO_EDITOR., VISUAL или EDITOR после пути к редактору, что приведет к редактированию указанного файла с повышенными привилегиями без проверки правил доступа пользователя к файлу.

О деталях уязвимости упоминается следующее:

При запуске от имени sudo -e или sudoedit sudo можно использовать для редактирования файлов с привилегиями при запуске редактора от имени непривилегированного пользователя. Файл политики sudoers определяет, может ли пользователь редактировать указанные файлы. Ожидаемое поведение заключается в том, что модуль политики sudoers возвращает вектор аргументов внешнему интерфейсу sudo, содержащему редактор для запуска вместе с редактируемыми файлами, разделенными аргументом «–».

La последовательность событий такова:

  1. Внешний интерфейс sudo отправляет запрос проверки политики в модуль sudoers, указывая, что пользователь запустил sudoedit, и включает список файлов для редактирования.
  2. Модуль политики sudoers использует файл sudoers (или LDAP), чтобы определить, может ли пользователь редактировать файлы.
  3. Если проверка политики прошла успешно, модуль политики sudoers выбирает редактор на основе переменных SUDO_EDITOR, VISUAL и EDITOR в пользовательской среде. 
  4. Модуль sudoers создает новый вектор аргументов, состоящий из выбранного редактора. Если редактор содержит параметры командной строки, он разбивается на несколько аргументов.
  5. К вектору аргументов добавляется разделитель «–», за которым следует список файлов для редактирования. Этот вектор аргументов возвращается интерфейсу sudo.
  6. Внешний интерфейс sudo использует разделитель «-», чтобы определить, какие файлы редактировать. Временные копии файлов создаются с установленным владельцем вызывающего пользователя.
  7. Внешний интерфейс sudo создает новый вектор аргументов, состоящий из всех элементов перед разделителем «–» (редактор), за которыми следуют пути к временным файлам. Новый вектор аргумента выполняется от имени пользователя, который его вызывает.
  8. Временные файлы копируются обратно в исходное расположение, а временные версии удаляются.
  9. Уязвимость существует, если указанный пользователем редактор также содержит аргумент «–». Это заставит внешний интерфейс sudo рассматривать все после аргумента «–» в редакторе как файл для редактирования, даже если политика sudoers не разрешает это.

Уязвимость присутствует с ветки 1.8.0 и исправлено в корректирующем обновлении sudo 1.9.12p2. Выпуск обновлений пакетов в дистрибутивах можно увидеть на страницах: DebianUbuntuGentooRHELSUSEFedoraАркаFreeBSDNetBSD.

Наконец, упоминается, что в качестве обходного пути безопасности вы можете отключить обработку переменных среды SUDO_EDITOR, VISUAL и EDITOR, указав в sudoers:

Defaults!sudoedit env_delete+="SUDO_EDITOR VISUAL EDITOR"

источник: https://www.synacktiv.com/


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

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

*

*

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