The OpenNET Project / Index page

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

Опасные уязвимости в Firejail, Connman и GNU Guix

09.02.2021 23:39

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

Уязвимость вызвана недоработкой в коде для поддержки файловой системы OverlayFS, которая используется для создания поверх основной ФС дополнительного слоя для сохранения изменений, произведённых изолированным процессом. Подразумевается, что изолированный процесс получает доступ на чтение к основной ФС, а все операции записи перенаправляются во временное хранилище и не влияют на реальную основную ФС. По умолчанию разделы OverlayFS монтируются в домашнем каталоге пользователя, например, внутри "/home/test/.firejail/[name]", при том, что владельцем данных каталогов устанавливается root, чтобы текущий пользователь не смог напрямую изменить их содержимое.

При настройке изолированного окружения Firejail проверяет, чтобы корень временного раздела OverlayFS не был доступен на запись непривилегированному пользователю. Уязвимость вызвана состоянием гонки, связанным с тем, что операции выполняются не атомарно и между проверкой и монтированием остаётся короткий момент, позволяющий подменить принадлежащий root каталог .firejail на каталог, в который имеет право записи текущий пользователь (так как .firejail создан в каталоге пользователя, пользователь может его переименовать). Наличие доступа на запись в каталог .firejail позволяет подменить точки монтирования OverlayFS символической ссылкой и добиться изменения любых файлов в системе.

Исследователем подготовлен рабочий прототип эксплоита, который будет опубликован через неделю после публикации исправления. Проблема проявляется начиная с версии 0.9.30. В выпуске 0.9.64.4 уязвимость блокирована через отключение поддержки OverlayFS. Для блокирования уязвимости обходным путём также можно отключить OverlayFS через добавление в /etc/firejail/firejail.config параметра "overlayfs" со значением "no".

Вторая опасная уязвимость (CVE-2021-26675) выявлена в сетевом конфигураторе ConnMan, получившем распространение во встраиваемых Linux-системах и устройствах интернета вещей. Уязвимость потенциально позволяет удалённо организовать выполнение кода атакующего. Проблема вызвана переполнением буфера в коде dnsproxy и может быть эксплуатирована через возвращение специально оформленных ответов со стороны DNS-сервера, на перенаправление трафика к которому настроен DNS-прокси. Информация о проблеме поступила от компании Tesla, которая использует ConnMan. Уязвимость устранена во вчерашнем выпуске ConnMan 1.39.

В завершении можно отметить проблему с безопасностью в дистрибутиве GNU Guix System, связанную с особенностью размещения suid-root-файлов в каталоге /run/setuid-programs. Большая часть программ в данном каталоге поставлялась под флагами setuid-root и setgid-root, но не была рассчитана на работу с setgid-root, что потенциально могло использоваться для повышения привилегий в системе.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Выпуск системы изоляции приложений Firejail 0.9.62
  3. OpenNews: Серия уязвимостей в Firejail
  4. OpenNews: Уязвимость в пакетном менеджере GNU Guix
  5. OpenNews: Опасная уязвимость в сетевом конфигураторе ConnMan
  6. OpenNews: Выпуск сетевого конфигуратора ConnMan 1.38
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/54564-firejail
Ключевые слова: firejail, guix, connmann
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, FuckMan (?), 00:25, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    ConnMan это вообще, что-то упоротое и вечно теряющее сеть поделие
     
     
  • 2.12, Аноним (12), 08:35, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Проверь dmesg на падения драйвера чипа.

    P.S. Проприетарный драйвер броадкома wl для Линукса - это п****ц.

     
  • 2.30, Аноним (-), 08:17, 11/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то терять соединение - не его прерогатива. Он как максимум реконект может инициировать, если сеть по какой-то причине отпала.
     

  • 1.2, Аноним (2), 00:33, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    как только хочу первое попробовать прикрутить для безопасности оно оказывается само еще более опасно...
     
     
  • 2.4, Аноним (4), 01:03, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > так как .firejail создан в каталоге пользователя, пользователь может его переименовать

    у тебя много пользователей на ноуте или ты сам себя взламывать собрался?

     
     
  • 3.5, Аноним (5), 03:37, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нам не нужно автоматическое управление памятью, мы же не будем дабл фри сами себе делать.
     
     
  • 4.7, Аноним (7), 07:08, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Фига себе дрова! Гонку от управления памятью не отличает. Подумаешь, фигня какая.
     
     
  • 5.20, Аноним (20), 12:42, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что вы его минусуете? Он ведь правильно сказал, тут логическая ошибка в программе.
    >Уязвимость вызвана состоянием гонки, связанным с тем, что операции выполняются не атомарно и [b]между проверкой и монтированием[/b] остаётся короткий момент
     
     
  • 6.33, Аноним (33), 07:40, 14/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да тут есть какой-то больной на голову растовик, занимающийся накруткой, забей на него.
     
  • 3.14, Аноним (14), 09:42, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    От имени пользователя работает не только пользователь, но и процессы, которые он запускает, в т числе и браузер. А вот браузер да, хочет взломать всё.
     
     
  • 4.27, Аноним (4), 05:53, 11/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебе по секрету скажу что если у тебя браузер не в firejail, а на хосте то для управления firejail взламывать firejail не нужно, он и так может им управлять как пользователь.

    Так что ты там взламывать то собрался, то что и так доступно?

     
  • 2.10, Аноним (10), 07:47, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://wiki.gentoo.org/wiki/Chrooting_proxy_services
     
     
  • 3.31, Аноним (-), 09:19, 12/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У статьи проблемы с форматированием, ее надо удалить.
     
  • 2.22, Аноним (-), 14:07, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты думал безопасность вот так вот просто делается ? Типа "скачать с интернета" две безопасности и еще одну на всякий случай.
     

  • 1.3, Dzen Python (ok), 01:03, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну, по крайней мере теперь они будут исправлены (ежели не забьют, как г-н П-ринг с WONTFIX). Это тебе не по 15 лет в "надежных" проприентарных продуктах баге сидеть.
     
  • 1.6, Аноним (6), 05:21, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Проблема вызвана переполнением буфера

    *танцующий банан*

     
     
  • 2.8, Аноним (7), 07:09, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Предложи его хрустосу логотипом.
     
     
  • 3.23, Аноним (-), 14:08, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    у них рак
     
     
  • 4.29, Аноним (-), 08:15, 11/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При том в этом случае видимо - головного мозга.
     

  • 1.11, Аноним (12), 08:31, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Уязвимость вызвана состоянием гонки, связанным с тем, что операции выполняются не атомарно

    mandatory lockи не нужны - решили в убунту и выпилили их при компиляции.

     
     
  • 2.21, PnD (??), 13:47, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Крайне противоречивое утверждение. Я тоже недолюбливаю ubuntu, но.

    Во-первых, почитайте https://www.kernel.org/doc/Documentation/filesystems/mandatory-locking.txt
    Там желающих этот самый mandatory-locking честно предупреждают.
    Предупреждённые обычно используют fcntl(), который в целом проверенный и рабочий. * Хотя у меня похоже что есть пример не-атомарности в вызове rename(), как раз на ubuntu + tmpfs. Который внутри таки должен быть завязан на те же механизмы…

    Во-вторых, "mandatory-locking" сам и есть дурное виндо-изобретение. Проистёкшее из однопользовательского DOS-детства. В *nix ядро старается (пока по крайней мере) не лезть туда где может нормально разрулить пользовательский софт. Тем самым локализуя проблему.
    Это мешает (уже́ почти нет) играть в игры, но позволяет не падать в BSOD при просмотре PDF (например). …Хотя, некий not-a-bug не первый год трудится над таким глобальным софтом, который позволяет linux "складываться" не хуже винды. Прогресс, он такой…

     

  • 1.13, Аноним (14), 09:40, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >>По умолчанию разделы OverlayFS монтируются в домашнем каталоге пользователя, при том, что владельцем данных каталогов устанавливается root, чтобы текущий пользователь не смог напрямую изменить их содержимое.

    Серьёзно? И это разрабов не смущало? В каталоге пользователя папка, в которую он писать не может. Как до этого вообще можно было додуматься? Она же для этого и предназначена, чтобы юзер в ней делал всё что хотел. И все нормальные люди предполагают что юзер может написать в свою папку всё что угодно и относятся к этим данным соответственно. Это не случайный "баг". У такого подхода не могло быть другого результата, кроме как дыры в безопасности.

     
     
  • 2.16, Аноним (12), 10:07, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Двачую. Нужно было создать для каждой тюрьмы своего пользователя.
     

  • 1.15, Онаним (?), 10:07, 10/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Кто все эти лю... простите, софтины?
    Ни одной никогда не пользовался.
     
     
  • 2.18, Аноним (12), 10:10, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Firejail - мегаполезная (и мегагеморройная) софтина. Пользуюсь каждый день. Мегагеморройная - ибо нельзя дать доступ динамически под конкретное действие. Мегаполезная - потому что firefox не должен иметь доступ к ssh-ключам.
     
     
  • 3.26, vn971 (ok), 21:36, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Попробуй bubblewrap, рекоммендую. Там нужно чуточку больше понимать чего ты делаешь и нет там OverlayFS . (Смешно что это совпадает с темой новости, в bubblewrap как раз по причине безопасности overlayfs не добавляют, но не об этом).
    Но зато что есть в bubblewrap, это очень простой и надёжный интерфейс для изоляции приложений (например, те же ssh ключи спрятать прям-таки насовсем).

    Ещё удобная фича -- это можно монтировать любую директорию в ~, а поверх добавлять любые папки которые тебе нужны пошаренными. Например:
    --bind ~/.firefox-jail ~ --bind ~/.Xauthority ~/.Xauthority --bind ~/my-sweet-shared-dir ~/my-sweet-shared-dir

    Последнее означает что не нужно запускать firejail миллион раз выискивая куда оно пишет всякие свои файлы.

    P.S. Пользовался firejail несколько лет. Пару лет назад переехал на bubblewrap по причине безопасности. Не хочется иметь кошмарного размера SUID

     
  • 2.19, Аноним (12), 10:14, 10/02/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Firejail походу вошла в Sailfish OS

    https://github.com/netblue30/firejail/issues/3960

     

  • 1.28, Аноним (-), 06:05, 11/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ConnMan же пилится силами программистов Enlightenment.
     
  • 1.32, Аноним (32), 16:40, 12/02/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Безопасности нет. Не было. И не будет.
    Всё время будешь затыкать дыры и вытаскивать зонды.
    Только успевать это делать не будешь.
     

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



    Спонсоры:
    Inferno Solutions
    Ideco
    Hosting by Hoster.ru
    Хостинг:

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