URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 127743
[ Назад ]

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

Отправлено opennews , 12-Июн-22 10:17 
В утилите для изолированного выполнения приложений Firejail выявлена уязвимость (CVE-2022-31214), позволяющая локальному пользователю получить права root в основной системе. В открытом доступе имеется рабочий эксплоит, проверенный в актуальных выпусках openSUSE, Debian, Arch, Gentoo и Fedora с установленной утилитой firejail. Проблема устранена в выпуске firejail 0.9.70. В качестве обходного пути защиты можно выставить в настройках (/etc/firejail/firejail.config) параметры "join no" и "force-nonewprivs yes"...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57337


Содержание

Сообщения в этом обсуждении
"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 10:17 
Никогда такого не было, и вот опять.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 14:23 
# Prerequisites:
# - the firejail setuid-root binary needs to be installed and accessible to the
#   invoking user

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 20:38 
Ты должен был ИЗОЛИРОВАТЬ приложения, а не давать доступ к руту!!!

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 20:48 
Забавная там многоходовочка.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Анонимно , 12-Июн-22 10:37 
Изолированный запуск app безопасно говорили они

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 13:29 
Классический юниксовый подход - чтобы снизить привилегии, нужно сначала их получить.
Поэтому традиционно демоны стартуют из-под рута, выполняют привилегированные операции (socket bind, chroot и т.д.) и только после этого сбрасывают привилегии. И если их ломануть на этой стадии - получим рута.

Со всяческими "изоляторами" - ровно то же самое. Чтобы нормально заизолировать процесс, то есть настроить namespaces, cgroups и прочее - нужно иметь рута.

Простая аналогия из мира людей: государственная система, эффективно борющаяся с коррупцией, легко уязвима для госпереворота.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 16:29 
Надо было писать на Rust, говорили они.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:43 
И написали на C.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 20:54 
Ошибка логическая - от яп вон то вообще не зависит.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Роман , 12-Июн-22 11:29 
Нормально всё - детские болезни вылазят просто. Линукс лезет к конечному пользователю (desktop, laptop ), набивают шишки.

Фряха не лезет и не страдает от такого (ну там конечно будет позже вопрос кто остался на фряхе кроме тех кто может патчить код, но это другое).


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 11:47 
> Фряха не лезет и не страдает от такого

В смысле, так и остаётся Неуловимым Джо, в котором дыры есть, но искать их некому, потому что никто не пользуется?


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 12:26 
> но искать их некому

https://www.opennet.dev/opennews/art.shtml?num=48676
> Организация The NetBSD Foundation оплатила проведение аудита безопасности


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:00 
Сейчас бы перепутать FreeBSD и NetBSD.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 21:53 
Интересно как NetBSD foundation относится к использовнию фряхи, особенно с изоляцией софта на десктопе. Они точно оплатили именно это?

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Роман , 12-Июн-22 12:40 
Неуловимым Джо конечно остаётся, и даже прогрессирует в здесь, но давайте оставим это за кадром.

Я слегка о другом - вот это вот всё - firejail, logind, appimage/snap это же про то как технически неграмотному юзеру (тем кто не обладает навыками программирования на С) дать возможность пользоваться линукс не только на серверах. И если MacOS/Windows прошли этот путь давно и собрали много случаев реальных (типа форсить апдейты иначе их не поставят) то тут ещё копать и копать в эту сторону - первые детские шаги.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено борланд , 12-Июн-22 16:22 
И причем тут снапы с файерджейлами и поэтессами, как они мешают или упрощают возможность простому пользователю что-либо делать?
А главное причем тут бсд. Там нет такого зоопарка с которым,судя по диким тормозам снапа,безуспешно борятся. Во фре вообще все максимально просто, особенно там где в бубунтах стоит отклониться от кликанья далее->далее>ок.
Живу же как-то без альс с пульсами и пипевирами. Нет никаких унылод, а сх портянки в разы проще из-за отсутсвия этих ваших run level.
C не знаю и не собираюсь изучать.

Но речь даже не о б этом. GUI приложения,за редким исключением, абсолютно те же самые что и на линуксе.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 11:48 
Кто-то на фряхе умеет патчить код? Это миф, в пусси.ехе не надо патчить код.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено YetAnotherOnanym , 12-Июн-22 17:06 
Типичное представление о фряхе типичного анонима, не знакомого с фряхой.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:12 
> Типичное представление о фряхе типичного анонима, не знакомого с фряхой.

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


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 21:56 
А что, тут есть фряшники способные код писать? Да еще что-нибудь хоть слегка системное, типа сабжа? ORLY?

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 12:24 
В FreeBSD есть jail, не такой дырявый как firejail. И да, BSD для десктопа лучше, чем Linux, так как там нет таких проблем, как баг 12309.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 12:30 
>баг 12309

Да ладно вам рассказывать, даже в венде есть. Не удалось стриггеррить не равно нет. Зато есть другие, и, в итоге, не юзабельно при ближайшем рассмотрении.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 13-Июн-22 08:27 
> Не удалось стриггеррить не равно нет

Чайник Рассела прямо.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Роман , 12-Июн-22 14:46 
Я точно не в теме использования Фряхи - можете привести пару примеров использования для приложений "из коробки"? То что с напильником и лишним временем можно самому заморочиться это мне понятно и так.

Я смотрю на
>Firejail uses profiles to set the security protections for each of the applications executed inside of it - you can find the default profiles in /etc/firejail/application.profile

и из этого мне понятно что уже есть подготовленные профили ( https://github.com/netblue30/firejail/tree/master/etc/profil... ) для скажем Chromium или Emacs.
Тут понятно что это экономит мне время, про Jails - есть сомнения.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено борланд , 12-Июн-22 16:28 
Pkg install kde5
Pkg install Firefox
Вот вам пример установки фирифокса из коробки.
Здесь лишь может надо будет один раз прочесть wiki/хендбук о том как установить и испооьзовать драйвер от вашей невидии/ати или интела. Остальное давно уже само подхватывается.

Если многабукв серьезное препятствие, то только маки и винда. Потому как даже в бубунтах придется искать магические заклинания с sudo на askubuntu.com


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:45 
> Вот вам пример установки фирифокса из коробки.

А как насчёт запуска firefox в jail, про который вас спрашивали?


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 22:04 
> Pkg install kde5
> Pkg install Firefox

И в каком месте тут наступает изоляция файрфокса от системы? В firejail она наступает после запуска файрфокса как "firejail firefox" - а довольно навороченый профайл расписывающий куда его пустить все же надо чтобы он работал, как и что ему точно не надо уметь - писали другие люди. В чем прелесть сабжа и состоит. Вон то можно даже на ярлычок в десктопе повесить, или что там, и читать хэндбук для этого не надо.

А определить куда фокс пустить а куда нет самому - это так то очень отдельное развлечение.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 13-Июн-22 22:49 
>> Pkg install kde5
>> Pkg install Firefox
> И в каком месте тут наступает изоляция файрфокса от системы?
> В firejail она наступает после запуска файрфокса как "firejail firefox" - а довольно

И правда, в каком месте jail изолирован от системы, ага.

> навороченый профайл расписывающий куда его пустить все же надо чтобы он
> работал, как и что ему точно не надо уметь - писали другие люди.

Там не нужен навороченный профайл. Те, кто не хотят читать - ставят bastille и заводят темплейт firefox, те кто немножно умеет - имеет стандартный темплейт в jail.conf, типа


# /etc/jail.conf

allow.nomount;
exec.clean;
mount.devfs;
host.hostname = "$name.your-host-name.lan";
path = "/jails/${name}/root";
#securelevel = 3;

firefox {
    ip4.addr = "10.0.0.2";
    #exec.start = "/bin/sh /home/firefox/run-firefox";
    #exec.jail_user = "firefox";
    persist;
    devfs_ruleset = 5;
}

>> "Уязвимость в firejail, позволяющая получить root-доступ в системе"  
> В чем прелесть сабжа и состоит. Вон то можно даже на ярлычок в десктопе повесить, или что там, и читать хэндбук для этого не надо.

да, какая "прелесть"


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 14-Июн-22 03:17 
> И правда, в каком месте jail изолирован от системы, ага.

В вашем рецепте его не было. А так все хорошо.

> bastille и заводят темплейт firefox, те кто немножно умеет - имеет
> стандартный темплейт в jail.conf, типа

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

>

 
> # /etc/jail.conf

...
> }

И что в нем после этого отвалится? И вон то как-то подозрительно просто выглядит для того чтобы зарубать все реально ненужное и при этом позволять все нужное.

> да, какая "прелесть"

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


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 14-Июн-22 22:52 
>> И правда, в каком месте jail изолирован от системы, ага.
> В вашем рецепте его не было. А так все хорошо.

Читать ветку обсуждения целиком, а не выхватывать частями и все будет хорошо?

>> bastille и заводят темплейт firefox, те кто немножно умеет - имеет
>> стандартный темплейт в jail.conf, типа
> А этот темплейт в готовом, актуальном, безглючном виде у них есть и
> майнтайнится под актуальные версии и их причуды? Потому что как тот
> кто делал сабжу кастомные профайлы для сложных программ я имею заметить:

Потому что как тот, кто запускает ФФ в джейле, имею заметить - мейнтейнить там особо ничего не надо. Т.к. уровень джейлов - повыше будет, несмотря на схожесть имен.
Даже сам "хост" по умолчанию помещен в prison0.

> пакости уровня файрфокса надо довольно много всякой дряни от системы. При
> том если этим не заморочиться, либо оно сможет шарахаться по системе
> с широкими возможностями - и за что тогда боролись?! Либо половина
> фич сломается и будет икать постоянными обломами.

И пускай себе шарахается в клетке, для этого их и придумали.



"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 16:33 
[sarcasm]Лучше поддержкой оборудования[/sarcasm] В голове у тебя баг 12309.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено YetAnotherOnanym , 12-Июн-22 17:04 
Во Фряхе свои "нюансы" есть. Но, вообще - да, после зоопарка дистров Линуха с его "кто в лес, кто по дрова" стройная логичность Фряхи - как бальзам для сердца.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 22:05 
Бальзамы так то разные бывают.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Вы забыли заполнить поле Name , 21-Июн-22 01:42 
Это не про desktop, а про то как изолировать приложения без этой вашей оркестрации как в snap или flatpack. А на Linux desktop лезут корпорасты с их "все свое ношу с собой".  

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Роман , 21-Июн-22 15:58 
> Это не про desktop, а про то как изолировать приложения без этой вашей оркестрации как в snap или flatpack.

Не согласен - кому надо тот давно по старинке в чрутах или еще каких systemd-nspawn демона изолированно крутит. Если приложение или сервис "не демон", для взаимодействия с юзером и обратно (что уже ближе к desktop/laptop), скачан "с интернетов", то провести пару вечером за ручной настройкой такой изоляции нравится не всем, даже если предположить что с такой задачей рандомный пользователь вообще справится.


> А на Linux desktop лезут корпорасты с их "все свое ношу с собой".

Если хоть кто-то лезет, то не так девка^W линукс и страшен. Хотя мне кажется вы слегка приукрашиваете реальность и на самом деле никто не лезет - всем глубоко побую. У условного гугла работают Chromebooks, а бороться за апстриминг этого и мир во всём мире - накой им надо.

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



"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Вы забыли заполнить поле Name , 22-Июн-22 01:32 
>> Это не про desktop, а про то как изолировать приложения без этой вашей оркестрации как в snap или flatpack.
> Не согласен - кому надо тот давно по старинке в чрутах или
> еще каких systemd-nspawn демона изолированно крутит. Если приложение или сервис "не
> демон", для взаимодействия с юзером и обратно (что уже ближе к
> desktop/laptop), скачан "с интернетов", то провести пару вечером за ручной настройкой
> такой изоляции нравится не всем, даже если предположить что с такой
> задачей рандомный пользователь вообще справится.

Как раз в firejail есть профили. Можно не париться. Порог ниже чем в apparmor или selinux.


>> А на Linux desktop лезут корпорасты с их "все свое ношу с собой".
> Если хоть кто-то лезет, то не так девка^W линукс и страшен. Хотя
> мне кажется вы слегка приукрашиваете реальность и на самом деле никто
> не лезет - всем глубоко побую. У условного гугла работают Chromebooks,
> а бороться за апстриминг этого и мир во всём мире -
> накой им надо.
> Сообщество не смогло сформировать единый центр принятия решений, корпорации значит сформируют
> за них.

Почему сразу google? Много контор хотят свой софт пихать в линукс в псевдоизоляции (продукты jetbrains, telegram, vscode и др.)


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 12:08 
Посоветуйте, на что посмотреть кроме firejail? и где какие плюсы минусы?

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Shevchuk , 12-Июн-22 12:26 
https://wiki.archlinux.org/title/Bubblewrap

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 13:31 
>  Посоветуйте, на что посмотреть кроме firejail? и где какие плюсы минусы?

Qubes https://www.opennet.dev/opennews/art.shtml?num=56641
Плюсы: хороший уровень изоляции, критичных дыр пока вроде не находили.
Минусы: надо повозиться, местами может быть неудобно.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 13:56 
>хороший уровень изоляции, критичных дыр пока вроде не находили.

Кроме того случая, когда изично поимели всю эту изоляцию ради изоляции?


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:39 
А такие случаи были?

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 21:12 
Да несколько ж было, иногда упоминали и сабж. Я так понимаю, любая уязвимость в XEN автоматически подразумевает изящное отверстие в нём. Расчёт тут только на то, что ты никому не нужен. Пока у тебя нет ничего интересного, всё в порядке, а в случае таргетированной атаки могут быть уже различные варианты. Стоит ли за это платить такую высокую цену? В итоге, это не более чем исследовательский проект, по фану.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 15-Июн-22 12:40 
Сейчас бы для каждой программы создавать свою виртуалку. И, тем более, скачивать какой-то qubes, а не настроить самому в любом дистрибутиве.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено slepnoga , 21-Июн-22 13:33 
Давно, уже, лет 15 как все сделано - называется SELINUX.
Кроме изоляции позволяет написать пароль рута  на заборе, дать рутовские ключи каждому 1-мы хакеру и вообще не волноватся по этому поводу.
Для совсем уж шапочек из фольги grsec+rsbac вообще творит чудеса.
Но как и везде, если сделать что то, чем может пользоватся и дурак, то только дурак и будет им пользоватся.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 15:14 
Факт, что firejail SUID root - это уже красный флаг.

И уязвимостей подобных в приложении уже был вагон.

// b.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:38 
> Факт, что firejail SUID root - это уже красный флаг.

А есть какие-то средства изоляции приложений в этих линуксах (а даже и юниксах), которые не требует изначально повышенных привилегий?


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 23:12 
Конечно, user namespaces. Если ты замапил рута в неймспейсе, твои проблемы. В таком случае в неймспейсе появляются права, которых не было вне него.

"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 22:29 
> Факт, что firejail SUID root - это уже красный флаг.

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

На самом деле трабл в том что изначально не было продумано что систему будут резать на виртуальные вложенные системы, поэтому абстракции сделали из спичек и желудей, подрихтовав по месту. Просто потому что писать с ноля что-то размером с линукскернел всем было дико впадлу. Отсюда вытекает некая компромиссность реализации и разные веселые баги на всех уровнях.

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


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено YetAnotherOnanym , 12-Июн-22 16:48 
> Для эксплуатации уязвимости атакующий может симулировать фиктивное не изолированное окружение firejail, используя пространство точек монтирования (mount namespace), после чего подключиться к нему при помощи опции "--join".

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


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 12-Июн-22 17:04 
> Если в настройках не активирован режим запрета получения дополнительных привилегий в новых процессах (prctl NO_NEW_PRIVS)

Чтобы получить рут на Линуксе нужно сперва получить рут на Линуксе. Ок.


"Уязвимость в firejail, позволяющая получить root-доступ в си..."
Отправлено Аноним , 13-Июн-22 14:59 
опять тюрьму сожгли и сбежали, изверги