В системе Flatpak (http://flatpak.org/), предоставляющей средства для создания самодостаточных пакетов, которые не привязаны к конкретным дистрибутивам Linux и выполняются в специальном изолированном контейнере, выявлена (http://seclists.org/oss-sec/2017/q2/569) опасная уязвимость (https://github.com/flatpak/flatpak/issues/845) (CVE-2017-9780 (https://opennet.ru/CVE-2017-9780)), позволяющая повысить свои привилегии в системе. Проблема устранена в выпуске Flatpak 0.8.7 (https://github.com/flatpak/flatpak/releases/tag/0.8.7) и 0.9.6 (https://github.com/flatpak/flatpak/releases/tag/0.9.6), а также в пакета пакетах для Debian (https://www.debian.org/security/2017/dsa-3895). Уязвимость пока остаётся неисправленной в репозиториях Fedora (https://bodhi.fedoraproject.org/updates/?releases=F25&type=s...) и Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2...).
Уязвимость позволяет подготовить вредоносный Flatpak-пакет, содержащего файлы некорректными правами доступа, например с флагом setuid или открытые всем на запись. После установки такого пакета пользователем, подобные файлы сохраняются в локальной системе с теми же правами, что позволяет локальному атакующему добиться выполнения поставляемого в пакете исполняемого файла с флагом suid или организовать запись в области, доступные всем на запись.
В случае, когда Flatpak-пакет содержит системный обработчик ("system helper"), компоненты которого принадлежат пользователю root (используется, когда Flatpak-пакет устанавливается для всех пользователей в системе), возможна организация запуска приложения с флагом setuid root.
Следует отметить, что при запуск приложения из вредоносного Flatpak-пакета не представляет опасности, так как оно запускается в режиме PR_SET_NO_NEW_PRIVS. Атака может быть совершена другим локальным пользователем, который может обратиться к установленным файлам Flatpak и запустить suid-файл напрямую, минуя инструментарий Flatpak, получив полномочия пользователя, пол которым установлены файлы вредоносного Flatpak-пакета (root, в случае если пакет был установлен администратором для всей системы).URL: http://seclists.org/oss-sec/2017/q2/569
Новость: http://www.opennet.me/opennews/art.shtml?num=46750
.apk
.AppImage
содержащего файлы с некорректными правами доступа, например с флагом setuid или открытые всем на запись. После установки такого пакета, подобные файлы сохраняются в локальной системе с теми же правами...
Серъёзно? Как об этом можно было не подумать? Господи, и они это позиционировали как безопасное решение. Да если там такие нелепые косяки то о чём речь может ттогда идти? autorun туда запихнут теперь?
Ну раз ты такой умный, то придумай _реалистичный_ сценарий эксплуатации этой уязвимости.
> Ну раз ты такой умный, то придумай _реалистичный_ сценарий эксплуатации этой уязвимости.дык в новости уже написали реалистичный сценарий...
давай я тебе его скопипащу сюда в сообщение:
"""
атака может быть совершена другим локальным пользователем, который может обратиться к установленным файлам Flatpak и запустить suid-файл напрямую, минуя инструментарий Flatpak, получив полномочия пользователя, под которым установлены файлы вредоносного Flatpak-пакета (root, в случае если пакет был установлен администратором для всей системы).
"""или для тебя "реалистычный" это значит я должен назвать реальные имена жертвы, злоумышленника, имена команды за спиной злоумышенника и имена администраторов, а также место действия и название компании где это будет нужно проворачивать?
# P.S.: проблема рассмотренная в этой новости -- конечно же более серъёзная чем "не забыть подумать про SUID и capabilities". а именно: нужно не забывать что твой проект это НЕ ЕДИСТВЕННЫЙ на компьютере пользователя. многие гвнопрограммисты почемуто думают только что якобы ТОЛЬКО единтвенная прорамма может быть запущена на компьютере -- и строют всю безопасность вокруг этого надуманного умозаключения
В этом "реалистичном" сценарии есть одна проблема - как уговорить другого пользователя и тем более рута поставить твой пакет.
Вот это-то как раз в большой организации, где каждый сам себе агроном, проще простого. Он даже несчастный нигерийский вирус три дня канпелировать будет
В большой организации, где сотрудники еще и доверяют друг другу, эта возня со flatpack нафиг не нужна. Можно просто дать коллеге "полезный" бинарь или даже скрипт для запуска напрямую.
Локальный пользователь - не обязательно человек. Или это человек, даже тот же самый, которого поимели через браузер.
>>как уговорить другого пользователя и тем более рута поставить твой пакет.Очень смешно. Большинство атак идут методом социальной инженерии.
Админ организации разрешает ставить flatpak-пакеты по запросу (они же типа безопасные и вообще). Сотрудник с непривилегированым аккаунтом просит админа поставить flatpak пакет с таким чудесным файлом. Сотрудник получает root-доступ.
А у админа локалхоста да, сценариев особо и нет.
> Сотрудник с непривилегированым аккаунтом просит админа поставить flatpak пакет с таким чудесным файломАдмин милостиво разрешает сотруднику поставить этот пакет лично для себя. В этом ведь и прелесть flatpak. Теперь хитрый сотрудник может получит suid ... на самого себя. Победа!
Да нет, ты неправильно говоришь! В "большой организации"™ все подряд пакеты, даже флатпаки ставятся рутом, у нас лучшие практики, ты уж мне поверь! А если не поверишь, то тогда я полный бред написал, не может же быть такого! Пакет не от рута поставить невозможно...
Да и вообще все уязвимости сплошной вымысел, какой идиот в наше время будет покупать компьютер, или ещё чего хуже подключать его к сети... бред полый... Прото эти западные хипстеры пугают нас всякой гадостью типа опсных уязвимостях... вот есть лопата, ей всякие setuid не страшны
Парни не заморачивались и тупо копируют файлы с оригинальными атрибутами. По сути их нужно пропускать как и в во время сборки архива. И верифицировать что их нет после установки.
>Серъёзно? Как об этом можно было не подумать?Какие мы все умные, с берега-то лучше видно, что на корабле всё не так, как надо.
Монолитные пакеты до добра не доведут.
Репозитории зато - офигенно.
1. Фрагментация
2. Какой-нибудь сторонний репозиторий с темой легко может запушить тебе апдейт ядра, которое в фоне будет майнить ему новую модную криптовалюту.
> Репозитории зато - офигенно.Простите, а где монолитные пакеты хранятся, не в репозитории случайно?
> Какой-нибудь сторонний репозиторий с темой легко
Подключающие всякие дотдебы и прочие неофициального происхождения репы ССЗБ. Какой-нибудь сторонний флатпак тоже может легко установить криптомайнер.
Разница в том, что ставя какой-нибудь флетпак, ты ставишь только его, когда как подключенный реп может обновить любой пакет в твоей системе в любое удобное для него время.
Ну давай сюда такую репу для debian, я ее подключу и ты покажешь, как ты при ее помощи обновишь любой пакет в моей системе в любое удобное для тебя время.
Про то, что это вообще не имеет смысла, так как при контроле на репой есть куда более простые и менее заметные способы внедрения трояна, пока говорить не будем.
А вам не кажется, что с Flatpak'ом фрагментация та же? Только тут "производитель" софта сам поёт своё дуду, как хочет и как умеет. А не факт что умеет норм. Мейнтейнеры же обычно следят за тем, что выпускают.
Зачастую нет ментейнеров для приложения.