Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux. in versions before 1.10.9, 1.12.9, 1.14.6, and 1.15.8, a malicious or compromised Flatpak app could execute arbitrary code outside its sandbox. Normally, the --command
argument of flatpak run
expects to be given a command to run in the specified Flatpak app, optionally along with some arguments. However it is possible to instead pass bwrap
arguments to --command=
, such as --bind
. It's possible to pass an arbitrary commandline
to the portal interface org.freedesktop.portal.Background.RequestBackground
from within a Flatpak app. When this is converted into a --command
and arguments, it achieves the same effect of passing arguments directly to bwrap
, and thus can be used for a sandbox escape. The solution is to pass the --
argument to bwrap
, which makes it stop processing options. This has been supported since bubblewrap 0.3.0. All supported versions of Flatpak require at least that version of bubblewrap. xdg-desktop-portal version 1.18.4 will mitigate this vulnerability by only allowing Flatpak apps to create .desktop files for commands that do not start with --. The vulnerability is patched in 1.15.8, 1.10.9, 1.12.9, and 1.14.6.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "1.14.6-1", "binary_name": "flatpak" }, { "binary_version": "1.14.6-1", "binary_name": "flatpak-dbgsym" }, { "binary_version": "1.14.6-1", "binary_name": "flatpak-tests" }, { "binary_version": "1.14.6-1", "binary_name": "flatpak-tests-dbgsym" }, { "binary_version": "1.14.6-1", "binary_name": "gir1.2-flatpak-1.0" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak-dev" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak-doc" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak0" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak0-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "1.14.6-1", "binary_name": "flatpak" }, { "binary_version": "1.14.6-1", "binary_name": "flatpak-dbgsym" }, { "binary_version": "1.14.6-1", "binary_name": "flatpak-tests" }, { "binary_version": "1.14.6-1", "binary_name": "flatpak-tests-dbgsym" }, { "binary_version": "1.14.6-1", "binary_name": "gir1.2-flatpak-1.0" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak-dev" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak-doc" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak0" }, { "binary_version": "1.14.6-1", "binary_name": "libflatpak0-dbgsym" } ] }