Обнародован Саймон МакВитти в последнее время который выявил уязвимость (CVE-2021-21261), что позволяет избежать изоляции изолированного пространства и запустить произвольный код в среде хост-системы в утилите развертывания и управления пакетами Flatpak.
Уязвимость присутствует в сервисе D-Bus Flatpak-Portal (Flatpak-Portal также известен под своим сервисным названием D-Bus org.freedesktop.portal.Flatpak), обеспечивающий запуск «порталов», которые используются для организации доступа к ресурсам вне контейнера.
О постановлении
И дело в том, что упомянутой уязвимости как таковой нет, поскольку она связана с работой службы. «Flatpak-portal» позволяет приложениям-песочнице запускать собственный дочерний процесс. в новой среде песочницы, к которой применяются такие же или более строгие параметры изоляции (например, для обработки ненадежного содержимого).
Уязвимость эксплуатируется, поскольку передает переменные среды, специфичные для вызывающего процесса, на неизолированные контроллеры из хост-системы (например, выполнив команду «Flatpak Run«). Вредоносное приложение может открывать переменные среды, влияющие на выполнение Flatpak, и выполнять любой код на стороне хоста.
Служба поддержки flatpak-session-help (org.freedesktop.flatpakal кто имеет доступ flatpak-spawn --host) предназначен для предоставления отмеченных приложений особенно возможность выполнять произвольный код в хост-системе, поэтому уязвимость не связана с тем, что он также полагается на предоставленные ему переменные среды.
Предоставление доступа к службе org.freedesktop.Flatpak указывает на то, что приложение заслуживает доверия и может законно выполнять произвольный код за пределами изолированной программной среды. Например, интегрированная среда разработки GNOME Builder отмечена таким образом как доверенная.
Служба D-Bus портала Flatpak позволяет приложениям в песочнице Flatpak запускать свои собственные потоки в новую песочницу либо с теми же настройками безопасности, что и вызывающий, либо с более строгими настройками безопасности.
Пример этого, это то, что упоминается, что в веб-браузерах, упакованных с Flatpak как Chromium, для запуска обсуждений который будет обрабатывать ненадежный веб-контент и предоставлять этим потокам более жесткую песочницу, чем сам браузер.
В уязвимых версиях служба портала Flatpak передает переменные среды, указанные вызывающей стороной, в процессы, не входящие в изолированную программную среду, в хост-системе, и в частности, в команду запуска flatpak, которая используется для запуска нового экземпляра песочницы.
Вредоносное или скомпрометированное приложение Flatpak могло установить переменные среды, которым доверяет команда flatpak run, и использовать их для выполнения произвольного кода, которого нет в песочнице.
Следует помнить, что многие разработчики плоских пакетов отключают режим изоляции или предоставляют полный доступ к домашнему каталогу.
Например, пакеты GIMP, VSCodium, PyCharm, Octave, Inkscape, Audacity и VLC имеют ограниченный режим изоляции. Если пакеты с доступом к домашнему каталогу скомпрометированы, несмотря на наличие тега «песочнице»В описании пакета злоумышленнику необходимо изменить файл ~ / .bashrc для выполнения своего кода.
Отдельная проблема - это контроль над изменениями пакетов и доверие к создателям пакетов, которые часто не связаны с основным проектом или дистрибутивами.
Решение
Упоминается, что проблема была исправлена в версиях Flatpak 1.10.0 и 1.8.5., но позже в ревизии появилось регрессивное изменение, которое вызвало проблемы с компиляцией в системах с поддержкой пузырьковой оболочки, установленной с помощью флага setuid.
После этого указанная регрессия была исправлена в версии 1.10.1 (а обновление для ветки 1.8.x пока недоступно).
В конце концов если вам интересно узнать об этом больше Об отчете об уязвимости вы можете проверить подробности По следующей ссылке.