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.
{
"binaries": [
{
"binary_version": "1.0.9-0ubuntu0.4",
"binary_name": "flatpak"
},
{
"binary_version": "1.0.9-0ubuntu0.4",
"binary_name": "flatpak-tests"
},
{
"binary_version": "1.0.9-0ubuntu0.4",
"binary_name": "gir1.2-flatpak-1.0"
},
{
"binary_version": "1.0.9-0ubuntu0.4",
"binary_name": "libflatpak-dev"
},
{
"binary_version": "1.0.9-0ubuntu0.4",
"binary_name": "libflatpak0"
}
]
}
{
"binaries": [
{
"binary_version": "1.6.5-0ubuntu0.5",
"binary_name": "flatpak"
},
{
"binary_version": "1.6.5-0ubuntu0.5",
"binary_name": "flatpak-tests"
},
{
"binary_version": "1.6.5-0ubuntu0.5",
"binary_name": "gir1.2-flatpak-1.0"
},
{
"binary_version": "1.6.5-0ubuntu0.5",
"binary_name": "libflatpak-dev"
},
{
"binary_version": "1.6.5-0ubuntu0.5",
"binary_name": "libflatpak0"
}
]
}
{
"binaries": [
{
"binary_version": "1.12.7-1ubuntu0.1",
"binary_name": "flatpak"
},
{
"binary_version": "1.12.7-1ubuntu0.1",
"binary_name": "flatpak-tests"
},
{
"binary_version": "1.12.7-1ubuntu0.1",
"binary_name": "gir1.2-flatpak-1.0"
},
{
"binary_version": "1.12.7-1ubuntu0.1",
"binary_name": "libflatpak-dev"
},
{
"binary_version": "1.12.7-1ubuntu0.1",
"binary_name": "libflatpak0"
}
]
}
{
"binaries": [
{
"binary_version": "1.14.6-1",
"binary_name": "flatpak"
},
{
"binary_version": "1.14.6-1",
"binary_name": "flatpak-tests"
},
{
"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": "libflatpak0"
}
],
"availability": "No subscription required"
}