Уязвимость в firejail, позволяющая получить root-доступ в системе

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
12-Июн-2022 12:31

В утилите для изолированного выполнения приложений Firejail выявлена уязвимость (CVE-2022-31214), позволяющая локальному пользователю получить права root в основной системе. В открытом доступе имеется рабочий эксплоит, проверенный в актуальных выпусках openSUSE, Debian, Arch, Gentoo и Fedora с установленной утилитой firejail. Проблема устранена в выпуске firejail 0.9.70. В качестве обходного пути защиты можно выставить в настройках (/etc/firejail/firejail.config) параметры "join no" и "force-nonewprivs yes".
Firejail использует для изоляции механизм пространств имён (namespaces), AppArmor и фильтрацию системных вызовов (seccomp-bpf) в Linux, но для настройки изолированного запуска требует повышенных привилегий, которые получает через привязку к утилите флага suid root или запуск при помощи sudo. Уязвимость вызвана ошибкой в логике работы опции "--join=<PID>", предназначенной для подключения к уже работающему изолированному окружению (аналог команды login для sandbox-окружения) с определением окружения по работающему в нём
идентификатору процесса. На этапе до сброса привилегий firejail определяет привилегии указанного процесса и применяет их к новому процессу, подключаемому к окружению при помощи опции "--join".
Перед подключением осуществляется проверка, запущен ли указанный процесс в окружении firejail. Данная проверка оценивает наличие файла /run/firejail/mnt/join. Для эксплуатации уязвимости атакующий может симулировать фиктивное не изолированное окружение firejail, используя пространство точек монтирования (mount namespace), после чего подключиться к нему при помощи опции "--join". Если в настройках не активирован режим запрета получения дополнительных привилегий в новых процессах (prctl NO_NEW_PRIVS), firejail подключит пользователя к фиктивному окружению и попытается применить настройки пространства имён идентификаторов пользователей (user namespace) процесса init (PID 1).
В итоге подключённый через "firejail --join" процесс окажется в исходном для пользователя пространстве имён идентификаторов пользователей с неизменными привилегиями, но в другом пространстве точек монтирования, полностью контролируемом атакующим. В том числе атакующий может выполнять setuid-root программы в созданном им пространстве точек монтирования, что позволяет, например, изменить настройки /etc/sudoers или параметры PAM в своей файловой иерархии и получить возможность выполнения команд с правами root при помощи утилит sudo или su.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_firejail
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 07:00
Часовой пояс: UTC + 5