В Ubuntu Linux обнаружены три способа обхода ограничений на пространства имён пользователей, позволяющих локальным атакующим повышать привилегии в системе. Несмотря на то, что защита была внедрена для предотвращения подобного рода атак, специалистам Qualys удалось обойти её разными методами, используя штатные инструменты системы. Об этом пишет Securitylab.
Ограничения на пространства имён были введены в 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 были предложены рекомендации для администраторов, желающих усилить защиту. Среди них: