Обнаружена возможность повышения привилегий в пакетном менеджере Snap
В менеджере пакетов Snap было обнаружено сразу несколько дыр, наиболее опасную из которых можно использовать для повышения привилегий до уровня корневого пользователя.
Снэпы — это самостоятельные пакеты приложений, которые предназначены для операционных систем с ядром Linux и устанавливаются при помощи snapd
.
Названная проблема, зафиксированная под номером CVE-2021–44731, относится к возможности повышения привилегий через функционал snap-confine
, с помощью которого snapd
внутренне выстраивает среду выполнения для приложений Snap. Степень угрозы уязвимости оценена в 7.8 баллов CVSS.
В своем отчете Бхарат Йоги, руководитель отдела исследования уязвимостей и угроз в Qualys, пишет следующее:
«Успешная эксплуатация этой уязвимости позволяет любому непривилегированному пользователю получить корневые права на хосте. Наши сотрудники смогли независимо подтвердить наличие этой проблемы, создать эксплойт и получить полные корневые привилегии в базовых установках Ubuntu».
На сайте Ubuntu найденная уязвимость описывается как «состояние гонки» в компоненте snap-confine
:
«Вsnap-confine
при подготовке для снэпa закрытого пространства именmount
существует состояние гонки. Это позволяет локальному атакующему получить корневые права путем монтирования (bind mount) собственного содержимого в это пространство имен, что приводит к выполнениюsnap-confine
произвольного кода, повышающего привилегии».
Помимо этого, исследователи обнаружили и шесть других угроз:
- CVE-2021–3995 — логическая ошибка в одной из функций библиотеки
libmount
, позволяющая непривелигированному пользователю размонтировать файловую системуFUSE
; - CVE-2021–3996 — неавторизованное размонтирование в
libmount
(см. выше); - CVE-2021–3997 –неуправляемая рекурсия в
systemd-tmpfiles
, способная привести к отказу в обслуживании при загрузке из-за создания в/tmp
слишком большого числа вложенных каталогов; - CVE-2021–3998 — Функция
realpath()
библиотекиglibc
может ошибочно вернуть неожиданное значение, что потенциально ведет к утечке информации и раскрытию чувствительных данных. - CVE-2021–3999 — Переполнение/антипереполнение буфера в
getcwd()
библиотекиglibc
может привести к повреждению памяти, когда размер файла буфера составляет ровно 1. - CVE-2021–44730 —
snapd 2.54.2
ошибочно определял расположение исполняемого файлаsnap-confine
. Локальный атакующий мог привязать этот файл через жесткую ссылку к другому расположению, чтобыsnap-confine
выполнял другие файлы, приводящие к повышению привилегий. Исправлено в версияхsnapd 2.54.3+18.04
,2.54.3+20.04
и2.54.3+21.10.1
.
О CVE-2021–44731 в отдел безопасности Ubuntu сообщили 27 октября 2021 года, и вот 17 февраля команда выпустила соответствующие патчи.
В Qualys также подметили, что несмотря на невозможность удаленной эксплуатации уязвимости атакующий, авторизовавшийся как непривилегированный пользователь, может «быстренько» воспользоваться багом для получения корневых прав. Так что выпущенные заплатки желательно установить как можно раньше, чтобы исключить потенциальные угрозы.
За основу публикации взята новость: New Linux Privilege Escalation Flaw Uncovered in Snap Package Manager