Une vulnérabilité (CVE-2024-32462) a été identifiée dans l'outil Flatpak, conçu pour créer des paquets autonomes, non liés à des distributions Linux spécifiques et isolés du reste du système. Cette vulnérabilité permet à une application malveillante ou compromise, livrée dans un paquet flatpak, de contourner le mode d'isolement sandbox et d'accéder aux fichiers dans le système principal. Le problème ne se manifeste que dans les paquets utilisant les portails Freedesktop (xdg-desktop-portal), qui sont utilisés pour organiser l'accès aux ressources de l'environnement utilisateur depuis des applications isolées. La vulnérabilité a été corrigée dans les mises à jour de flatpak 1.15.8, 1.14.6, 1.12.9 et 1.10.9. Un contournement pour la protection a également été proposé dans les versions xdg-desktop-portal 1.16.1 et 1.18.4.
Grâce à cette vulnérabilité, une application se trouvant dans un environnement isolé peut utiliser l'interface xdg-desktop-portal pour créer un fichier « .desktop » avec la commande de lancement d'une application flatpak, permettant d'accéder aux fichiers du système principal. Pour sortir de l'environnement isolé, des manipulations sont réalisées avec le paramètre « --command », utilisé pour transmettre le nom du programme se trouvant à l'intérieur du paquet flatpak qu'il faut exécuter dans l'environnement isolé. Pour configurer l'environnement isolé, flatpak appelle l'outil bwrap, en lui transmettant le nom spécifié du programme. Par exemple, pour exécuter l'outil ls dans l'environnement isolé d'un paquet, on peut utiliser la construction « flatpak run --command=ls org.gnome.gedit », qui entraînera l'exécution de « bwrap ls ».
L'essence de la vulnérabilité réside dans le fait que si le nom du programme commence par les caractères « -- », il sera interprété par l'outil bwrap comme une option propre. Par exemple, l'exécution « flatpak run --command=--bind org.gnome.gedit / /host ls -l /host » conduira à l'exécution de « bwrap --bind / /host ls -l /host », c'est-à-dire que le nom « --bind » sera traité non pas comme le nom de l'application à exécuter, mais comme une option de bwrap.
La vulnérabilité est aggravée par le fait que l'interface D-Bus « org.freedesktop.portal.Background.RequestBackground » permet à une application du package Flatpak de spécifier n'importe quelle commande à exécuter avec « flatpak run --command », y compris celles commençant par le symbole « -- ». Il était supposé que la transmission de telles commandes n'était pas risquée car elles seraient exécutées dans un environnement isolé. Cependant, il n'a pas été pris en compte que les commandes commençant par « -- » seraient interprétées comme des options par l'outil bwrap. En fin de compte, l'interface xdg-desktop-portal peut être utilisée pour créer un fichier « .desktop » avec une commande exploitant la vulnérabilité.
Source : opennet.ru
