В Snap нашли уязвимость, позволяющую выполнять код с привилегиями root

уязвимость

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

Несколько дней назад Qualys опубликовала новость о том, что обнаружила серьезную уязвимостьe (уже внесен в каталог CVE-2022-3328) в утилите snap-confine, который поставляется с корневым флагом SUID и вызывается процессом snapd для формирования исполняемой среды для приложений, распространяемых в пакетах формата snap.

Уязвимость позволяет непривилегированному локальному пользователю выполнять код от имени пользователя root в конфигурации Ubuntu по умолчанию.

Интересно, что рассматриваемая уязвимость была введена в процессе исправления аналогичной уязвимости от февраля в snap-confine.

Какое влияние оказывает CVE-2022-3328?

Qualys уточняет в своем отчете, что уязвимость snap-confine вызвано состоянием гонки в функции must_mkdir_and_open_with_perms(), добавлено для защиты от замены каталога /tmp/snap.$SNAP_NAME символической ссылкой после проверки владельца, но до вызова системного вызова mount для привязки к нему каталогов монтирования для пакета в формате span.

Дополнительная безопасность заключалась в переименовании каталога /tmp/snap.$SNAP_NAME в другой каталог в /tmp со случайным именем, если он существует и не принадлежит пользователю root.

Используя операцию переименования из каталога /tmp/snap.$SNAP_NAME, исследователи воспользовались тем, что snap-confine также создает каталог /tmp/snap.rootfs_x для содержимого пакета snap. mkdtemp(), который случайным образом выбирает часть имени «x», но пакет с именем «rootfs_x» может пройти через sc_instance_name_validate (т. е. идея состоит в том, чтобы установить для $SNAP_NAME значение «rootfs_x», а затем операция переименования приведет к тому, что каталог /tmp/snap.rootfs_x будет перезаписан пользователем root при оснастке).

Для достижения одновременного использования из /tmp/snap.rootfs_xx и переименовав /tmp/snap.$SNAP_NAME, были запущены два экземпляра snap-confine.

Как только первый экземпляр создал /tmp/snap.rootfs_xx процесс был заблокирован и запущен второй экземпляр с именем пакета rootfs_x, из-за чего временный каталог второго экземпляра /tmp/snap.$SNAP_NAME стал /tmp/snap .rootfs_x (корневой каталог) первого экземпляра.

Сразу же после изменения имени произошел сбой второго экземпляра, и /tmp/snap.rootfs_x был заменен на манипуляцию состоянием гонки, как в февральском эксплойте. После изменения блокировка выполнения была снята с первого экземпляра, и злоумышленники получили полный контроль над мгновенным корневым каталогом.

Последним шагом было создание символической ссылки /tmp/snap.rootfs_x/tmp. который использовался функцией sc_bootstrap_mount_namespace() для привязки и монтирования фактического доступного для записи каталога /tmp в любой каталог в файловой системе, поскольку вызов mount() следует символическим ссылкам перед монтированием. Такое монтирование блокируется ограничениями AppArmor, но для обхода этой блокировки эксплойт использовал две уязвимости. помощники в multipathd.

Успешная эксплуатация всех трех уязвимостей позволяет любому непривилегированному пользователю получить root-права на уязвимом устройстве. Исследователи безопасности Qualys проверили уязвимость, разработали эксплойт и получили полные привилегии root на установках Ubuntu по умолчанию. 

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

Исследователям удалось подготовить работающий эксплойт который обеспечивает root-доступ на Ubuntu Server 22.04, который, помимо уязвимости snap-confine, также включает две уязвимости в процессе multipathd (CVE-2022-41974, CVE-2022-41973), связанные с обходом разрешений при передаче привилегированных команд и небезопасная обработка символических ссылок.

Стоит отметить, что проблема была исправлена ​​в версии snapd 2.57.6, Кроме того, были выпущены обновления пакетов для всех поддерживаемых веток Ubuntu.

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


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

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

*

*

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