LINUX.ORG.RU

Девять серьёзных уязвимостей в Firejail

 ,


1

5

В системе для изолированного выполнения приложений Firejail выявлено девять уязвимостей, большинство из которых позволяют получить права суперпользователя в основной системе.

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

>>> Подробнее на OpenNet

★★

Проверено: Klymedy ()

Печально, но фактически любая программа имеющая setuid потенциальная дыра. Как я всегда говорил, безопасно только понижение привилегий.

surefire ★★ ()

Это вызывает желание незавуалированно материться.

С другой стороны ― перечисленные уязвимости не связаны с преодолением песочницы firejail.

jollheef ★★★★★ ()
Последнее исправление: jollheef (всего исправлений: 1)
Ответ на: комментарий от jollheef

С другой стороны ― перечисленные уязвимости не связаны с преодолением песочницы firejail.

Как же не связаны, когда вот:

позволяют повысить свои привилегии в основной системе до пользователя root.

То есть, без Firejail еще надо найти root-уязвимость в системе, а тут опаньки сразу.

praseodim ★★ ()
Ответ на: комментарий от praseodim

То есть, без Firejail еще надо найти root-уязвимость в системе, а тут опаньки сразу.

Прочитай внимательно описание уязвимостей. Они эксплуатируются не изнутри песочницы.

jollheef ★★★★★ ()
Ответ на: комментарий от jollheef

Прочитай внимательно описание уязвимостей. Они эксплуатируются не изнутри песочницы.

Да, признаю, действительно формально root получается не изнутри песочницы. Но учитывая, что одна из уязвимостей позволяет сбежать из песочницы...

allows ptrace with --allow-debuggers, which allows a
sandboxed program to escape the seccomp profile by rewriting permitted
system calls into unpermitted ones pre-Linux-4.8.

https://github.com/netblue30/firejail/commit/6b8dba29d73257311564ee7f27b9b147...

Правда, вроде с этой опцией "--allow-debuggers" Firejail должен быть уже запущен.

praseodim ★★ ()

Учитывая, как оно резво набрало популярность за последний год, было ожидаемо, что рано или поздно в ней найдут уязвимости. Так что это хорошо - уязвимости поправят и система станет лучше.

Вопрос вот в чём - есть-ли где-то похожая система, которая работает по принципу понижения привелегий и сама при этом не имеет полного root доступа ? Нечто подобное в принципе возможно реализовать ?

У меня, например, есть скрипт который делает запуск десктопных приложений в отдельном пользователе, достаточно сильно ограниченного в правах. Такая псевдо-песочница использует sudo в ограниченного пользователя как точку входа, а дальше уже действуют все стандартные механизмы безопасности которые есть и в моём основном пользователе. Но если я захочу дополнительно понаклепать различных CGROUP'ов, то мне уже нужны root права ...

DawnCaster ()
Ответ на: комментарий от DawnCaster

Вопрос вот в чём - есть-ли где-то похожая система, которая работает по принципу понижения привелегий и сама при этом не имеет полного root доступа ? Нечто подобное в принципе возможно реализовать ?

bubblewrap

vrutkovs ()

А некоторые компании, например The Foundry весь свой софт пишут с защитой от запуска через сабж, будет сегфолтить, но не запустится, даже на минималке.

slon ()
Ответ на: комментарий от DawnCaster

Можешь не торопиться, без user_namespaces точно так же требует setuid. Firejail по моему тоже умеет в user_namespaces.

Вот только и в них самих (user namespaces) ранее находили уязвимости с повышением до root. Но по задумке они как раз для пользовательских контейнеров без системного повышения прав.

surefire ★★ ()
Ответ на: комментарий от surefire

Но по задумке они как раз для пользовательских контейнеров без системного повышения прав.

Именно. Задумку-то рано или поздно пофиксят как надо в ведре. А вот тулзы типа firejail дефективные по определению, т.к изначально работают от руда и с suid. То что он умеет в user_ns - это здорово, но само наличие дополнительного, более расширенного функционала - это свой отдельный «attack surface».

ИМХО, подобные тулзы для обеспечения секурности должны быть как можно более минималистичными и обеспечивать только один определённый механизм обеспечения секурности. Firejail выглядит неплохо, но что-то он жирноват по-моему, я ищу что-то более простое и компактное. Идея bubblewrap'а мне пока больше нравится.

А вообще - самый лучший вариант изоляции десктопных приложений который я пока что находил - это QUBES OS. Но, блин, всю эту шарманку деплойить нет никаких сил совсем.

DawnCaster ()
Ответ на: комментарий от Iron_Bug

Дык, тот-же дырявый firefox работает вполне себе под локальным пользователем. А руткит может прийти в виде адоб-флеша, явы скрипта или даже мультимедиа файла.

А еще ведь есть закрытый софт вроде дропбокса, скайпа (ненужен, да), и прочих телеграмов. И кто знает какое говно там может быть. А общаться-то с начальством и манагерами неумеющими в линукс как-то надо... А пускать всё в виртуалке - я уже задолбался.

DawnCaster ()
Ответ на: комментарий от DawnCaster

а ты не давай юзеру файрфокса прав. у меня он ограничен. и шелла у него нет.

у меня нет скайпа и прочих телеграмов. вообще никакого закрытого софта на машинах. у меня начальство умеет в линюкс - я счастливый человек :) чем больше всякая проприетарщина себя компрометирует - тем лучше. люди быстрее поймут, что это ненужно.

Iron_Bug ★★ ()

это скрипт настройки аппармора работающий постоянно и еще чтото пускающий от рута?

а пробросить ченджрут от локального юзера,или создать отдельного юзера и к нему ГУЙ(с запуском от него для мышкоюзеров) влепить недодумались?

поломанная идея по концепции,зачем делать костыль когда уже есть юзеры аппармор и чрут

anonymous ()

В системе для изолированного выполнения приложений Firejail
Как оказалось безопасность Firejail находится в весьма печальном состоянии и многие опции и пользовательские данные обрабатываются под euid 0

Неистово взоржал

WARNING ★★★ ()