Schwachstelle in Flatpak, die die Sandbox-Isolierung umgeht

In den Flatpak-Tools, die zum Erstellen von unabhÀngigen Paketen vorgesehen sind, die nicht an bestimmte Linux-Distributionen gebunden sind und von der restlichen Systemumgebung isoliert sind, wurde eine Schwachstelle (CVE-2024-32462) entdeckt. Diese Schwachstelle ermöglicht es einer schÀdlichen oder kompromittierten Anwendung, die im Flatpak-Paket bereitgestellt wird, den festgelegten Sandbox-Isolationsmodus zu umgehen und auf Dateien im Hauptsystem zuzugreifen. Das Problem tritt nur in Paketen auf, die Freedesktop-Portale (xdg-desktop-portal) verwenden, die den Zugriff auf Ressourcen der BenutzeroberflÀche aus isolierten Anwendungen ermöglichen. Die Schwachstelle wurde in den Korrektur-Updates flatpak 1.15.8, 1.14.6, 1.12.9 und 1.10.9 behoben. Ein Umgehungsweg zum Schutz wurde auch in den Versionen xdg-desktop-portal 1.16.1 und 1.18.4 vorgeschlagen.

Dank der Schwachstelle kann eine Anwendung, die sich in einer isolierten Umgebung befindet, das xdg-desktop-portal-Interface nutzen, um eine „.desktop“-Datei mit dem Startbefehl fĂŒr die Flatpak-Anwendung zu erstellen, die den Zugriff auf die Dateien des Hauptsystems ermöglicht. Um die isolierte Umgebung zu verlassen, werden Manipulationen mit dem Parameter „—command“ verwendet, der zur Übertragung des Namens des Programms dient, das sich innerhalb des Flatpak-Pakets befindet und in der isolierten Umgebung gestartet werden soll. Zur Konfiguration der isolierten Umgebung ruft Flatpak das Tool bwrap auf und ĂŒbergibt ihm den angegebenen Programmnamen. Zum Beispiel kann der Befehl zur AusfĂŒhrung des Tools ls in der isolierten Umgebung eines Pakets wie folgt aussehen: „flatpak run —command=ls org.gnome.gedit“, was zu „bwrap ls“ fĂŒhrt.

Der Kern der Schwachstelle besteht darin, dass, wenn der Programmname mit den Zeichen „—“ beginnt, er von der bwrap-Anwendung als eigene Option interpretiert wird. Zum Beispiel fĂŒhrt der Befehl „flatpak run —command=—bind org.gnome.gedit / /host ls -l /host“ zur AusfĂŒhrung von „bwrap —bind / /host ls -l /host“, d.h. der Name „—bind“ wird nicht als Name der auszufĂŒhrenden Anwendung, sondern als Option von bwrap behandelt.

Die Schwachstelle wird dadurch verschĂ€rft, dass die D-Bus-Schnittstelle „org.freedesktop.portal.Background.RequestBackground“ es einer Flatpak-Anwendung ermöglicht, einen beliebigen Befehl zur AusfĂŒhrung ĂŒber „flatpak run —command“ anzugeben, einschließlich solcher, die mit dem Zeichen „—“ beginnen. Es wurde angenommen, dass die Übermittlung beliebiger Befehle ungefĂ€hrlich ist, da sie in einer isolierten Umgebung des Pakets ausgefĂŒhrt werden. Es wurde jedoch nicht berĂŒcksichtigt, dass Befehle, die mit „—“ beginnen, von dem Werkzeug bwrap als Optionen behandelt werden. Infolgedessen kann die Schnittstelle xdg-desktop-portal verwendet werden, um eine „.desktop“-Datei mit einem Befehl zu erstellen, der die Schwachstelle ausnutzt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4