Flatpak от Red Hat в последнее время привлекает очень много внимания. Он является новым, самопровозглашенным способом распространения настольных приложений на Linux. Говорят, там безопасно…
Песочница в flatpak — это ложь
Почти все популярные приложения на flathub поставляются с правами доступа filesystem=host
, filesystem=home
или device=all
, то есть c разрешением на запись в домашний каталог пользователя (и не только). Это фактически означает, что все, что требуется для «выхода из песочницы» — это echo download_and_execute_evil >> ~/.bashrc
. Вот и все!
Такое можно провернуть с такими программами, как Gimp, VSCode, PyCharm, Octave, Inkscape, Steam, Audacity, VLC и т.д.
Что еще хуже, пользователей вводит в заблуждение тот факт, что полагается, что приложения работают в «песочнице». Для всех этих приложений flatpak показывает обнадеживающую иконку «песочницы» при установке приложения (даже при установке в командной строке не становятся намного лучше — вам нужно разбираться во внутренних компонентах flatpak, чтобы понимать все нюансы предупреждений).
Вы НЕ получаете обновления безопасности своевременно
В официальных приложениях и различных средах выполнения часто находятся различные уязвимости и их эксплоиты. Некоторые из них были известны в течение полугода. Они были быстро исправлены во многих дистрибутивах Linux, но не в flatpak.
Да, возможно, ваша программа была скомпрометирована, если вы поставили ее из flatpak. Мы буквально говорим о публичных эксплойтах, которые появились несколько месяцев назад. Вы открывали когда-нибудь изображение в flatpak Gimp? Критическая уязвимость «shell in the ghost» была исправлена в flatpak примерно спустя месяц после исправления в других Linux дистрибутивах.
Статьи по теме
- Полезный софт для Linux
- Действительно ли Linux невосприимчив к вирусам?
- Популярность Snap приложений в инфографике
Давайте пройдемся по DSA и поищем что-нибудь тривиальное для использования.
CVE-2018-11235 зарегистрирован и исправлен только спустя 4 месяца. Flatpak VSCode, Android Studio и Sublime Text по-прежнему использовали устаревшую версию git 2.9.3. Также обратите внимание, что flatpak PyCharm поставлялся с git 2.19.0 с исправленной проблемой, но все еще с уязвимостью для CVE-2018-17456.
Мы также можем продемонстрировать пример уязвимости, где будем использовать Sublime с плагином GitSavvy с рекурсивным клонированием (плагин на https://github.com/divmain/GitSavvy/tree/dev, команда для клонирования git: clone recursively, параметр git: //flatkill.org/cve-2018 -11235).
Локальный корневой эксплойт? Незначительная проблема!
Вплоть до версии 0.8.7 все, что требовалось для получения root на хосте — это установить пакет flatpak, содержащий бинарный файл suid (Flatpak устанавливается в /var/lib/flatpak на вашей хост-машине). Опять же, что может быть проще? Высокий уровень серьезности в безопасности был назначен для уязвимости CVE-2017-9780 (CVSS Score 7.2). Разработчики Flatpak посчитали это незначительной проблемой в безопасности.
Будущее распространения приложений за flatpak?
Будем надеяться, что нет! К сожалению, очевидно, что разработчики Red Hat, работающие на flatpak, не заботятся о безопасности. Но их самопровозглашенная цель — заменить все десктопные программы — краеугольный камень безопасности Linux.
И дело не только в этих проблемах безопасности. Хотите запустить приложения от KDE в flatpak? Забудьте тогда об интеграции с рабочим столом (даже о размере шрифта). Нужно Вам, к примеру, ввести китайские/японские/корейские символы? Забудьте и об этом тоже — fcitx был сломан начиная с flatpak 1.0 и с тех пор никогда не исправлялся.
То, как мы упаковываем и распространяем настольные приложения в Linux, безусловно, необходимо переосмыслить, но к сожалению, flatpak создает больше проблем, чем решает их.
Источник: FlatKill.org