Серия уязвимостей в Firejail

7 января 2017 года

В системе для изолированного выполнения приложений Firejail выявлено девять уязвимостей, большинство из которых позволяют повысить свои привилегии в основной системе до пользователя root. Firejail использует для изоляции механизм пространств имён (namespaces), AppArmor и фильтрацию системных вызовов (seccomp-bpf) в Linux, но для настройки изолированного запуска требует повышенных привилегий, которые получает через привязку к утилите флага suid root или запуск при помощи sudo. Как оказалось безопасность Firejail находится в весьма печальном состоянии и многие опции и пользовательские данные обрабатываются под euid 0.

Первой была опубликована информация об уязвимости CVE-2017-5180, найденной участниками SuSE Security Team и использующей манипуляцию с файлом /etc/ld.so.preload для запуска своего кода с правами root. Следом было выявлено ещё шесть уязвимостей, позволяющих совершить атаку через манипуляцию с tmpfs (CVE-2016-10117, CVE-2016-10119), переписать /etc/resolv.conf (CVE-2016-10118), получить полный доступ к системным файлам из-за монтирования /dev, /dev/shm, /var/tmp и /var/lock в режиме 0777 (CVE-2016-10120, CVE-2016-10121) и выполнить код с правами root из-за неочистки переменных окружения (CVE-2016-10122) и из-за возможности использования режима "--chroot" без seccomp (CVE-2016-10123).

Например, firejail позволяет непривилегированному пользователю примонтировать tmpfs-раздел для любой директории, в том числе прикрепить свой tmpfs-раздел вместо /etc - "firejail --noprofile --tmpfs=/etc". Или можно загрузить с правами root стороннюю библиотеку из-за неочистки переменной окружения LD_PRELOAD при запуске программ в режиме x11 (X-сервер запускается с правами root) - "firejail --x11=xorg --env=LD_PRELOAD=$PWD/rootshell.so". В дополнение было выявлено ещё две уязвимости: выход из изолированного окружения через ptrace при запуске в режиме "--allow-debuggers" ( CVE-2017-5207) и выполнение кода с правами root через манипуляции с опциями --bandwidth и --shell ( CVE-2017-5206).

Дополнение: Вышли обновления firejail 0.9.38.8 и 0.9.44.4, в которых устранены три опасные уязвимости (CVE-2017-5207, CVE-2017-5206, CVE-2017-5180).

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Серия уязвимостей в Firejail», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.