В диспетчере пакетов Linux Snap обнаружены серьезные ошибки повышения привилегий
![Serious privilege escalation errors found in Linux Snap's package manager](https://zmzme.com/wp-content/uploads/2022/02/sigmund-AxAPuIRWHGk-unsplash.jpg)
В диспетчере пакетов Linux Snap обнаружены серьезные ошибки повышения привилегий
Эксперты обнаружили легко эксплуатируемую уязвимость в Snap, глобальной системе упаковки и распространения приложений, разработанной для Ubuntu, но доступной во многих дистрибутивах Linux. Уязвимость позволяет пользователю с низким уровнем привилегий выполнять вредоносный код от имени пользователя root, что является высшей административной учетной записью в Linux.
Уязвимость под названием CVE-2021-44731 является частью серии ошибок, которые исследователи Qualys обнаружили в нескольких компонентах Linux во время исследования безопасности Snap. Последний, наряду с другим, называемым CVE-2021-44730, можно найти в snap-confine, инструменте, отвечающем за создание песочниц для приложения Snap.
Что такое Снап?
Snap — это менеджер пакетов для Linux, разработанный Canonical для популярного дистрибутива Ubuntu для настольных ПК и серверов. Он позволяет упаковывать и распространять автономные приложения, называемые «моментами», которые запускаются внутри ограниченного контейнера, обеспечивая настраиваемый уровень безопасности.
Проверьте также:
Как автономные приложения, Snap не имеет внешних зависимостей, что позволяет ему быть кроссплатформенным и распространяться между платформами. Традиционно все основные дистрибутивы Linux имеют собственный репозиторий и менеджер программного обеспечения. В Debian есть DEB, в Ubuntu — PPA, в Fedora и Red Hat — RPM, в Arch Linux — Pacman и так далее. Все эти системы загружают требуемый пакет вместе со всеми другими зависимостями как отдельные пакеты. Snap, с другой стороны, связаны со всеми необходимыми зависимостями, что делает их глобально развертываемыми на всех системах Linux, оснащенных Snap.
Snap поставляется по умолчанию в Ubuntu и многих дистрибутивах Linux и доступен в качестве опции во многих других дистрибутивах, включая основные. Он используется для распространения не только настольных, но и облачных и IoT-приложений.
Snap Confinement — или карантин — имеет три уровня безопасности, при этом строгий режим используется большинством приложений. В этом режиме приложения должны запрашивать доступ к файлам, другим процессам или сети. Это ничем не отличается от модели песочницы приложения и разрешений мобильных операционных систем, таких как Android.
Поскольку песочница приложений — одна из основных функций Snap, любая уязвимость, позволяющая выйти из этой изоляции и получить контроль над хост-системой, считается чрезвычайно опасной.
Ошибки повышения привилегий
Исследователи Qualys назвали свою ограниченную уязвимость «Oh Snap! More Lemmings», потому что она напоминает еще одну молнию, обнаруженную в 2019 году, под названием Dirty Sock. Начиная с Dirty Sock, Snap подвергся обширным аудитам безопасности командой безопасности SUSE и, как правило, запрограммирован очень надежно, используя несколько основных функций безопасности. Например, профили AppArmor, фильтры seccomp и пространства имен.
«Мы почти отказались от нашего аудита через несколько дней», — сказали исследователи Qualys в своем отчете, добавив, что «ограниченную уязвимость (особенно в стандартной установке Ubuntu) было чрезвычайно сложно обнаружить и использовать».
Однако команда заметила некоторые мелкие недочеты и решила двигаться дальше. В результате были обнаружены две уязвимости повышения привилегий: CVE-2021-44730, атака с жесткими ссылками, которую можно использовать только в невиртуальных конфигурациях, т. е. когда fs.protected_hardlinks ядра равен 0; и CVE-2021-44731 — состояние гонки, которое можно использовать в виртуальных установках Ubuntu Desktop и полувиртуальных установках Ubuntu Server.
«Эта гонка открывает целый мир возможностей: внутри пространства имен монтирования snap (в которое мы можем войти через snap-confine) мы можем создать глобально перезаписываемый, не прикрепляемый каталог к /tmp, или мы можем смонтировать любой другой каталог, являющийся частью файловой системы, в /tmp», — говорят аналитики Qualysa. «Мы можем надежно победить в этом состоянии гонки, наблюдая /tmp/snap.lxd с помощью inotify, устанавливая наш эксплойт и ограничивая нас одним и тем же процессором с помощью Sched_setaffinity() и снижая приоритет планирования snap-cline с помощью setpriority() и schedule_schedule.( )».
Исследуя эти недостатки, исследователи Qualys также обнаружили ошибки в библиотеках и других связанных компонентах, которые использует Snap: несанкционированное монтирование в libmount util-linuxa (CVE-2021-3996 и CVE-2021-3995); Неожиданное возвращаемое значение функции realpath() glibc (CVE-2021-3998); Переполнение/выполнение буфера через единицу в getcwd() glibc (CVE-2021-3999); Неконтролируемая рекурсия в файлах systemd-tmp (CVE-2021-3997). Эти ошибки были исправлены в этих компонентах ранее в этом году.
Ubuntu выпустила исправления для CVE-2021-44731 и CVE-2021-44730 для большинства поддерживаемых версий Linux, за исключением ESM 16.04 (Extended Security Maintenance), для которого все еще ожидаются исправления. Обе уязвимости оцениваются как очень опасные.
Источник: ОГО
.