Уязвимость в OverlayFS, позволяющая поднять свои привилегии в Ubuntu

Уязвимость в OverlayFS, позволяющая поднять свои привилегии в Ubuntu

В реализации файловой системы OverlayFS выявлена уязвимость (CVE-2015-1328), которую можно использовать для получения root-доступа на системах, в которых разрешено монтирование разделов OverlayFS непривилегированным пользователем. Достаточные для эксплуатации уязвимости настройки по умолчанию применяются во всех поддерживаемых ветках Ubuntu (12.04, 14.04, 14.10 и 15.04).

Разработчики Ubuntu уже оперативно выпустили обновление ядра Linux с исправленным модулем OverlayFS. Подверженность других дистрибутивов данной проблеме пока не подтверждена. В качестве временной меры защиты можно удалить или поместить в чёрный список модуль ядра overlayfs.ko (или overlay.ko).

Уязвимость вызвана некорректной проверкой прав доступа при создании новых файлов в директории нижележащей родительской файловой системы. Если ядро собрано с опцией "CONFIG_USER_NS=y" (включение пользовательских пространств имён) и при монтировании использован флаг FS_USERNS_MOUNT, имеется возможность монтирования OverlayFS обычным пользователем в отдельном пространстве имён, в котором в том числе допускаются операции с правами root, распространяющиеся только на данное пространство имён, передает opennet.ru.

Напомним, что пространства имён для идентификаторов пользователей (user namespaces) позволяют сформировать в контейнерах собственные наборы идентификаторов групп и пользователей, а также связанные с ними привилегии (например, в каждом контейнере/пространстве имён может быть свой root). Например, определённый пользователь может получить в контейнере особенные привилегии, которые отсутствуют у него вне контейнера, или процесс внутри контейнера может получить права root, но остаться непривилегированным вне контейнера.

Суть проблемы в том, что привилегированные операции с файлами, выполненные в созданном пространстве имён, при использовании раздела OverlayFS остаются привилегированными и при выполнении действий с нижележащей ФС. Например, можно подключить в OverlayFS системный раздел /etc и модифицировать файл с паролями, посмотреть/заменить содержимое любых закрытых директорий и файлов. Опасность проблемы продемонстрирована готовым эксплоитом, позволяющим запустить shell с правами root через создание доступного на запись файла /etc/ld.so.preload. 

Критическая уязвимость в TLP позволяет обойти защиту Linux

В популярной утилите TLP, которую многие владельцы ноутбуков на Linux используют для управления энергопотреблением, обнаружили критическую уязвимость. Причём проблема нашлась во время обычной проверки пакета командой SUSE Security Team и располагается во вполне штатном коде.

Брешь получила идентификатор CVE-2025-67859 и затрагивает версию TLP 1.9.0, где появился новый profiles daemon.

Этот демон работает с root-правами и управляет профилями питания через D-Bus. Задумка хорошая, но реализация подвела: в механизме аутентификации Polkit нашлась логическая ошибка, которая фактически позволяет обойти проверку прав.

Как объясняют исследователи, демон должен был строго проверять, кто именно отправляет команды. Но из-за ошибки любой локальный пользователь мог взаимодействовать с ним без должной аутентификации — а значит, менять системные настройки питания от имени root.

На этом сюрпризы не закончились. В ходе анализа специалисты SUSE нашли ещё несколько проблем, уже связанных с исчерпанием ресурсов. В частности, механизм profile hold, который позволяет временно «зафиксировать» профиль питания, оказался совершенно без валидации. Локальный пользователь мог создавать неограниченное количество таких блокировок, причём без прав администратора.

В итоге это открывает прямую дорогу к DoS-атаке: демон начинает захлёбываться от бесконечных записей в структуре данных, куда попадают числа, строки с причиной и идентификаторы приложений — всё это полностью контролируется клиентом.

Любопытно, что SUSE вспомнила похожую историю с демоном управления питанием в GNOME: аналогичную проблему находили ещё несколько лет назад. Отдельно исследователи отметили вопросы к механизму «куки», которыми отслеживаются profile hold. Формально речь шла о предсказуемости значений, но в сочетании с отсутствием лимитов это лишь расширяло поверхность атаки.

К счастью, реакция была быстрой. SUSE сообщила об уязвимостях разработчикам ещё в декабре, и в версии TLP 1.9.1 проблема уже закрыта. В частности, число одновременных profile hold теперь жёстко ограничено числом 16, что убирает риск истощения ресурсов.

RSS: Новости на портале Anti-Malware.ru