Локальные root-уязвимости в инструментарии управления пакетами Snap
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Компания Qualys
выявила две уязвимости (CVE-2021-44731, CVE-2021-44730) в утилите snap-confine, поставляемой с флагом SUID root и вызываемой процессом snapd для формирования исполняемого окружения для приложений, поставляемых в самодостаточных пакетах в формате snap. Уязвимости позволяют локальному непривилегированному пользователю добиться выполнения кода с правами root в системе. Проблемы устранены в сегодняшнем обновлении пакетов snapd для Ubuntu 21.10, 20.04 и 18.04.
Первая уязвимость (CVE-2021-44730) позволяет совершить атаку через манипуляцию жёсткими ссылками, но требует отключения системной защиты жёстких ссылок (установки sysctl fs.protected_hardlinks в 0). Проблема вызвана некорректной проверкой местоположения исполняемых файлов вспомогательных программ snap-update-ns и snap-discard-ns, запускаемых с правами root. Путь к данным файлам вычислялся в функции sc_open_snapd_tool() на основе собственного пути из /proc/self/exe, что позволяет создать жёсткую ссылку на snap-confine в своём каталоге и разместить в этом каталоге свои варианты утилит snap-update-ns и snap-discard-ns. После запуска по жёсткой ссылке snap-confine с правами root запустит из текущего каталога файлы snap-update-ns и snap-discard-ns, подставленные атакующим.
Вторая уязвимость вызвана состоянием гонки и может быть эксплуатирована в конфигурации Ubuntu Desktop по умолчанию. Для успешной работы эксплоита в Ubuntu Server требуется выбор при установке одного из пакетов из секции "Featured Server Snaps". Состояние гонки проявляется в функции setup_private_mount(), вызываемой во время подготовки пространства имён точек монтирования для пакета snap. Данная функция создаёт временный каталог "/tmp/snap.$SNAP_NAME/tmp" или использует уже существующий для bind-монтировния в него каталогов для пакета в формате snap.
Так как имя временного каталога предсказуемо, атакующий может подменить его содержимое на символическую ссылку в момент после проверки владельца, но перед обращением к системному вызову mount. Например, можно создать в каталоге /tmp/snap.lxd символическую ссылку "/tmp/snap.lxd/tmp", указывающую на произвольный каталог, и вызов mount() последует за символической ссылкой и примонтирует каталог в пространстве имён snap. Подобным образом можно примонтировать своё содержимое в /var/lib и через замену /var/lib/snapd/mount/snap.snap-store.user-fstab организовать монтирование своего каталога /etc в пространстве имён snap-пакета для организации загрузки своей библиотеки с правами root через замену /etc/ld.so.preload.
Отмечается, что создание эксплоита оказалось нетривиальной задачей, так как утилита snap-confine написана на языке Go с использованием приёмов безопасного программирования, имеет защиту на основе профилей AppArmor, производит фильтрацию системных вызовов на основе механизма seccomp и применяет для изоляции пространство имён для монтирования. Тем не менее, исследователям удалось подготовить рабочий эксплоит для получения прав root в системе. Код эксплоита будет опубликован через несколько недель, после того как пользователи установят предоставленные обновления.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.openwall.com/lists...)
- OpenNews: Уязвимость в snapd и flatpak, позволяющая обойти режим изоляции
- OpenNews: Уязвимость в snapd, позволяющая получить root-привилегии в системе
- OpenNews: Критическая уязвимость в sudo, позволяющая получить привилегии root
- OpenNews: Root-уязвимость в ядре Linux и отказ в обслуживании в systemd
- OpenNews: Критическая уязвимость в PolKit, позволяющая получить root-доступ в большинстве дистрибутивов Linux
Похожие новости:
- Компания Canonical анонсировала переработку инструментария Snapcraft
- [Дизайн мобильных приложений, Законодательство в IT, Социальные сети и сообщества] Snapchat удаляет фильтр спидометра из-за юридических проблем
- [] До 40 релизов в день в Enterprise: наша сool story
- [Настройка Linux, Резервное копирование, Разработка под Linux] Linux kernel: просто снять снапшот не просто
- [Компьютерное железо, Презентации, Ноутбуки] Samsung представила ноутбуки на Windows 10 с процессорами Arm
- [Управление персоналом, Офисы IT-компаний, Будущее здесь, Удалённая работа] Свежий воздух, «гибридная» модель и отпуск для вакцинированных. Как компании готовятся к выходу в офис после пандемии
- [Настройка Linux] Осторожно, snap
- [Разработка под Windows, Компьютерное железо, Процессоры] Qualcomm представила комплект разработчика для приложений Windows 10
- [Социальные сети и сообщества, IT-компании] Snapchat отчитался о росте числа пользователей (перевод)
- [Системное администрирование, Системное программирование, DevOps] Установка простого приложения (например Superset) в microk8s используя metallb и helm
Теги для поиска: #_snap
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 16:22
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Компания Qualys выявила две уязвимости (CVE-2021-44731, CVE-2021-44730) в утилите snap-confine, поставляемой с флагом SUID root и вызываемой процессом snapd для формирования исполняемого окружения для приложений, поставляемых в самодостаточных пакетах в формате snap. Уязвимости позволяют локальному непривилегированному пользователю добиться выполнения кода с правами root в системе. Проблемы устранены в сегодняшнем обновлении пакетов snapd для Ubuntu 21.10, 20.04 и 18.04. Первая уязвимость (CVE-2021-44730) позволяет совершить атаку через манипуляцию жёсткими ссылками, но требует отключения системной защиты жёстких ссылок (установки sysctl fs.protected_hardlinks в 0). Проблема вызвана некорректной проверкой местоположения исполняемых файлов вспомогательных программ snap-update-ns и snap-discard-ns, запускаемых с правами root. Путь к данным файлам вычислялся в функции sc_open_snapd_tool() на основе собственного пути из /proc/self/exe, что позволяет создать жёсткую ссылку на snap-confine в своём каталоге и разместить в этом каталоге свои варианты утилит snap-update-ns и snap-discard-ns. После запуска по жёсткой ссылке snap-confine с правами root запустит из текущего каталога файлы snap-update-ns и snap-discard-ns, подставленные атакующим. Вторая уязвимость вызвана состоянием гонки и может быть эксплуатирована в конфигурации Ubuntu Desktop по умолчанию. Для успешной работы эксплоита в Ubuntu Server требуется выбор при установке одного из пакетов из секции "Featured Server Snaps". Состояние гонки проявляется в функции setup_private_mount(), вызываемой во время подготовки пространства имён точек монтирования для пакета snap. Данная функция создаёт временный каталог "/tmp/snap.$SNAP_NAME/tmp" или использует уже существующий для bind-монтировния в него каталогов для пакета в формате snap. Так как имя временного каталога предсказуемо, атакующий может подменить его содержимое на символическую ссылку в момент после проверки владельца, но перед обращением к системному вызову mount. Например, можно создать в каталоге /tmp/snap.lxd символическую ссылку "/tmp/snap.lxd/tmp", указывающую на произвольный каталог, и вызов mount() последует за символической ссылкой и примонтирует каталог в пространстве имён snap. Подобным образом можно примонтировать своё содержимое в /var/lib и через замену /var/lib/snapd/mount/snap.snap-store.user-fstab организовать монтирование своего каталога /etc в пространстве имён snap-пакета для организации загрузки своей библиотеки с правами root через замену /etc/ld.so.preload. Отмечается, что создание эксплоита оказалось нетривиальной задачей, так как утилита snap-confine написана на языке Go с использованием приёмов безопасного программирования, имеет защиту на основе профилей AppArmor, производит фильтрацию системных вызовов на основе механизма seccomp и применяет для изоляции пространство имён для монтирования. Тем не менее, исследователям удалось подготовить рабочий эксплоит для получения прав root в системе. Код эксплоита будет опубликован через несколько недель, после того как пользователи установят предоставленные обновления. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 16:22
Часовой пояс: UTC + 5