The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

07.01.2017 23:42

В системе для изолированного выполнения приложений 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).

  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
  2. OpenNews: Обновление системы изоляции приложений Firejail 0.9.42
  3. OpenNews: Доступна система изоляции приложений Firejail 0.9.40
  4. OpenNews: Выпуск Firejail 0.9.38, инструмента для изоляции приложений
  5. OpenNews: Критическая уязвимость в OverlayFS, позволяющая поднять свои привилегии в Ubuntu
  6. OpenNews: Root-уязвимость из-за некорректных настроек в пакете nginx для Debian и Ubuntu
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45824-firejail
Ключевые слова: firejail
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, НовыйЮзер (ok), 00:05, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Красота. Недавно читал про сабж - думал может пригодится, а вот оно как...
     
     
  • 2.18, anonymous (??), 16:02, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С самим sandbox там всё в порядке, судя по всему. Суть уязвимостей в том, что запустив firejail с определёнными параметрами можно получить root. Если sandbox был запущен с правильными параметрами, то процессы изнутри sandbox ничего плохого сделать не смогут.
     
     
  • 3.39, anonymous (??), 21:01, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Беда в том, что firejail - suid. Если похакают твоего пользователя, то используя firejail можно будет похакать рута. Вообще-то считается не очень. suid приложения надо писать очень тщательно.

    Но не нашлось ни одного безопасника, готового писать песочницу под линукс. В результате за это дело взялся прохожий, не слишком хорошо разбирающийся в вопросах безопасности. Скажем так, не сильно лучше анонимных экспертов с этого сайта. Имеем что имеем, полудырявую тюрьму, которая всё ещё лучше полного отсутствия тюрьмы.

     
     
  • 4.48, Аноним (-), 18:28, 09/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Беда в том, что firejail - suid

    на лоре советуют bubblewrap

     

  • 1.2, Аноним (-), 00:24, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Ирония в том, что самые нелепые уязвимости вылезают в программах для повышения безопасности.
     
     
  • 2.3, botman (ok), 01:14, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Поэтому sudo предпочитаю su. Говорят так лучше с точки зрения безопасности, хоть пароли разные для разных операций.
     
     
  • 3.12, Аноним (-), 10:42, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Говорят так лучше с точки зрения безопасности

    Чушь какая. sudo по определению даёт меньше прав, чем su. И потом, нужно ограничивать же, через /etc/sudoers

     
  • 2.9, Анонимс (?), 05:11, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    по-моему, здесь разница в том, кто делал - "системный" программист или "прикладной"


     
     
  • 3.15, botman (ok), 13:24, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    если уязвимость с повышением прав до root была в ядре - фиолетово
     
     
  • 4.45, Аноним (-), 05:30, 09/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > если уязвимость с повышением прав до root была в ядре - фиолетово

    Оно как бы да, но в силу специфики ядерщики пишут код получше, что ни говори. А потому что если халтурить то все падает, с грохотом. И от этого икается хоть самим програмерам. Конечно от ОС зависит. В реактосе какомнить програмеры девелопают из максималки в вьюжлстудии, понятно что стабильность системы их не парит.

     

  • 1.4, Аноним (-), 02:03, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Я использую firejail, уязвимости с удаленным исправлением кода есть?
     
     
  • 2.27, Анонимаа (?), 20:37, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Исполенение кода в твоем браузере - не удаленное.

    Лень метаться пока эксперты более достойную кандидатуру на свет б не вытащат.

     

  • 1.6, Аноним (-), 03:04, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в новости про автокликер баннеров (https://www.opennet.dev/opennews/art.shtml?num=45821) народ был свято уверен, что Firejail их защитит в случае, когда автокликер словит рано или поздно эксплоит-пак.

    Именно поэтому ПО, увеличивающее риск поймать какую-либо гадость (в данном случае, такое ПО - автокликер), не нужно.

     
     
  • 2.7, Аноним (-), 03:11, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Эксплоит-паку в данном случае нужно будет предолеть ещё и firejail. Т.е. должен быть специфичный экслоит, эксплуатирующий уязвимости сразу двух продуктов. Да ещё и под linux. А шанс на появление такого экслоита аналогичен шансу, что firejail займёт хотя бы 20% пользовательских ПК всего мира.
     
     
  • 3.8, Аноним (-), 04:03, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Что мешает делать бомбовую атаку из исплоитов?
     
     
  • 4.11, tellur (?), 10:19, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что мешает делать бомбовую атаку из исплоитов?

    Нежелание палить все карты.

     
     
  • 5.46, Аноним (-), 05:41, 09/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Нежелание палить все карты.

    И повышение вероятности "treason uncloaked!". Ну как, если вы перочинный ножик в кармане носите-это одно. А тридцать хренов устроивших ураганную пальбу в центре города из пулеметов - поднимут на уши всех. Одни только аверы устроят между собой CTF "кто первый этот отнет завалит?!". А потому что хорошее дело фирму украшает. Стало быть пиар.

     
  • 4.47, iPony (?), 08:55, 09/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну учитывая, что речь была про линуксы, то экономическая целесообразность.
    Сплоит тоже разработать надо - это ресурсы. Тем более в одном дистрибутиве соберут так, в другом сяк. Слишком много возни для слишком малого потенциального улова.
     
  • 3.13, Аноним (-), 11:23, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Если firejail работает под рутом то нужно преодолеть только firejail.
     
     
  • 4.19, Аноним (-), 16:27, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Если firejail работает под рутом

    Он не работает под рутом. Так что нужно попотеть, чтобы рутовый доступ ещё получить.

     
  • 4.44, Аноним (-), 05:25, 09/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Если firejail работает под рутом то нужно преодолеть только firejail.

    А ничего что конфигурирование контейнера таки требует повышенных прав?

     
  • 2.16, IB (?), 14:28, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не читатели?

    Уязвимость в утилите firejail, а не в контейнере.
    Подсунув ей заточенный чрут или атакуя проц/тмпфс во время выполнения.
    Атака снаружи а не изнутри!

     

  • 1.10, Аноним (-), 09:54, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, в убунте скоро исправят?
     
  • 1.22, gre (?), 17:36, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Доизолировались.
     
  • 1.26, Tyuiop (?), 19:03, 08/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Внимательно посмотрел на номера уязвимостей, в том числе исправленных. Много думал.
     
     
  • 2.33, Аноним (-), 20:49, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А что там странного, номера CVE не назначаются по порядку. Red Hat выдаёт номера CVE из заранее выделенного пула. В 2017 году им выдали пул CVE-2017-5xxx.
     
     
  • 3.43, rshadow (ok), 22:40, 08/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Иногда лучше один раз прочитать, чем семь раз подумать =)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру