empty static

Обход ограничений user namespace в Ubuntu: выявленные уязвимости

Компания Qualys выявила три уязвимости в Ubuntu, позволяющие обходить ограничения доступа к пространству имён идентификаторов пользователя, или user namespace. С версии 23.10 в Ubuntu введен дополнительный уровень изоляции, запрещающий непривилегированным пользователям создание user namespace. Однако исследователям удалось обнаружить способы обойти эти ограничения. User namespace используется для контейнерных систем и позволяет работать с ядром Linux без повышенных привилегий. Проблема в том, что многие ядра изначально писались с расчетом только на root-доступ, и появление user namespace изменило восприятие уязвимостей в этих подсистемах.

Ubuntu реализовала гибридную защиту с выборочным разрешением создания user namespace через AppArmor профили или права CAP_SYS_ADMIN. Однако исследователи нашли способы обхода этой защиты. Первый метод включает использование утилиты aa-exec для приложения профилей, таких как Chrome и Flatpak, на собственный процесс.

shell
копировать
$ aa-exec -p trinity -- unshare -U -r -m /bin/sh

Другие варианты включают запуск оболочки в busybox или использование LD_PRELOAD для загрузки своей библиотеки в программы с разрешением user namespace. Пример:

shell
копировать
$ busybox sh $ /usr/bin/unshare -U -r -m /bin/sh

Для защиты предложено ограничить изменение профилей через aa-exec и отключить профили в уязвимых приложениях, таких как busybox и nautilus. Это можно сделать командами:

shell
копировать
sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=1 sudo aa-status --filter.mode=unconfined

Также стало известно о новой уязвимости (CVE-2025-0927) в драйвере HFS+, которая затрагивает ядра Linux до версии 6.12. Ubuntu рекомендует обновить системы и деактивировать доступные по умолчанию профили для уязвимых приложений.