CVE-2024-32462
Flatpak vulnerable to a sandbox escape via RequestBackground portal due to bad argument parsing
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
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.
Flatpak es un sistema para crear, distribuir y ejecutar aplicaciones de escritorio en espacio aislado en Linux. en versiones anteriores a la 1.10.9, 1.12.9, 1.14.6 y 1.15.8, una aplicación Flatpak maliciosa o comprometida podría ejecutar código arbitrario fuera de su zona de pruebas. Normalmente, el argumento `--command` de `flatpak run` espera recibir un comando para ejecutar en la aplicación Flatpak especificada, opcionalmente junto con algunos argumentos. Sin embargo, es posible pasar argumentos `bwrap` a `--command=`, como `--bind`. Es posible pasar una "línea de comando" arbitraria a la interfaz del portal "org.freedesktop.portal.Background.RequestBackground" desde una aplicación Flatpak. Cuando esto se convierte en un `--command` y argumentos, logra el mismo efecto de pasar argumentos directamente a `bwrap` y, por lo tanto, puede usarse para un escape sandbox. La solución es pasar el argumento `--` a `bwrap`, lo que hace que deje de procesar las opciones. Esto ha sido compatible desde bubblewrap 0.3.0. Todas las versiones compatibles de Flatpak requieren al menos esa versión de bubblewrap. xdg-desktop-portal versión 1.18.4 mitigará esta vulnerabilidad al permitir que las aplicaciones Flatpak solo creen archivos .desktop para comandos que no comiencen con --. La vulnerabilidad está parcheada en 1.15.8, 1.10.9, 1.12.9 y 1.14.6.
A flaw was found in Flatpak, a system for building, distributing, and running sandboxed desktop applications on Linux. Normally, the "--command" argument of "flatpak run" expects being given a command to run in the specified Flatpak app, along with optional arguments. However, it is possible to pass bwrap arguments to "--command=" instead, such as "--bind". It is possible to pass an arbitrary "commandline" to the portal interface "org.freedesktop.portal.Background.RequestBackground" within the Flatpak app. This is normally safe because it can only specify a command that exists inside the sandbox. When a crafted "commandline" is converted into a "--command" and arguments, the app could achieve the same effect of passing arguments directly to bwrap to achieve sandbox escape.
CVSS Scores
SSVC
- Decision:Track*
Timeline
- 2024-04-12 CVE Reserved
- 2024-04-18 CVE Published
- 2024-04-21 EPSS Updated
- 2024-08-02 CVE Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')
CAPEC
References (10)
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://access.redhat.com/security/cve/CVE-2024-32462 | 2024-06-18 | |
https://bugzilla.redhat.com/show_bug.cgi?id=2275981 | 2024-06-18 |
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Flatpak Search vendor "Flatpak" | Flatpak Search vendor "Flatpak" for product "Flatpak" | < 1.10.9 Search vendor "Flatpak" for product "Flatpak" and version " < 1.10.9" | en |
Affected
| ||||||
Flatpak Search vendor "Flatpak" | Flatpak Search vendor "Flatpak" for product "Flatpak" | >= 1.12.0 < 1.12.9 Search vendor "Flatpak" for product "Flatpak" and version " >= 1.12.0 < 1.12.9" | en |
Affected
| ||||||
Flatpak Search vendor "Flatpak" | Flatpak Search vendor "Flatpak" for product "Flatpak" | >= 1.14.0 < 1.14.6 Search vendor "Flatpak" for product "Flatpak" and version " >= 1.14.0 < 1.14.6" | en |
Affected
| ||||||
Flatpak Search vendor "Flatpak" | Flatpak Search vendor "Flatpak" for product "Flatpak" | >= 1.15.0 < 1.15.8 Search vendor "Flatpak" for product "Flatpak" and version " >= 1.15.0 < 1.15.8" | en |
Affected
|