В Ubuntu обошли ключевую защиту AppArmor.
В Ubuntu Linux обнаружены три способа обхода ограничений на пространства имён пользователей, позволяющих локальным атакующим повышать привилегии в системе. Несмотря на то, что защита была внедрена для предотвращения подобного рода атак, специалистам Qualys удалось обойти её разными методами, используя штатные инструменты системы.
Ограничения на пространства имён были введены в Ubuntu 23.10 и стали включены по умолчанию в версии 24.04. Они базируются на механизме AppArmor и направлены на то, чтобы запретить создание пространств имён с административными правами обычными пользователями. Напомним, что пространство имён (namespace) позволяет запускать процессы с root-привилегиями внутри изолированной среды, не имея таких же прав на хостовой системе.
Все три способа обхода позволяют создать пространство имён с полным набором возможностей администратора, но не предоставляя полный контроль над системой. Опасность методов заключается в том, что они могут быть объединены с другими уязвимостями ядра, для эксплуатации которых требуются расширенные привилегии.
Первый метод использует утилиту aa-exec, предназначенную для запуска программ под определённым профилем AppArmor. Некоторые профили, например trinity, chrome и flatpak, не запрещают создание привилегированных пространств имён. Запуск команды unshare через aa-exec под таким профилем позволяет обойти защиту.
Второй способ связан с оболочкой busybox, которая установлена по умолчанию в серверных и десктопных редакциях Ubuntu. Профиль безопасности для busybox позволяет создавать пользовательские пространства имён без ограничений. Запуск оболочки через busybox открывает путь к обходу защиты.
Третий способ базируется на использовании переменной среды LD_PRELOAD, с помощью которой можно внедрить свою библиотеку в доверенный процесс. К примеру, запуск интерактивной оболочки внутри файлового менеджера Nautilus, имеющего свободный профиль AppArmor, даёт возможность получить доступ к пространству имён с привилегиями.
Qualys уведомила команду безопасности Ubuntu о находке 15 января, согласовав координированный релиз. Однако один из обходов, связанный с busybox, был опубликован независимым исследователем 21 марта. Компания Canonical признала существование проблем и сообщила, что рассматривает их не как уязвимости, а как недоработки в механизме защиты. Поэтому обновления будут выпущены согласно обычному расписанию, без экстренных исправлений.
На официальном форуме Ubuntu были предложены рекомендации для администраторов, желающих усилить защиту. Среди них: