Обнаружена возможность повышения привилегий в пакетном менеджере Snap

weak62bcku7pltc-riuu6z1i4ou.png


В менеджере пакетов 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

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru