In de Flatpak-tools, die zijn ontworpen voor het creëren van zelfstandige pakketten die niet aan specifieke Linux-distributies zijn gebonden en geïsoleerd zijn van het resterende systeem, is een kwetsbaarheid ontdekt (CVE-2024-32462). Deze kwetsbaarheid stelt een kwaadaardige of gecompromitteerde toepassing, die wordt geleverd in een flatpak-pakket, in staat om de ingestelde sandbox-isolatiemodus te omzeilen en toegang te krijgen tot bestanden in het hoofdsysteem. Het probleem doet zich alleen voor in pakketten die gebruikmaken van Freedesktop-portals (xdg-desktop-portal), die worden toegepast voor toegang tot bronnen van de gebruikersomgeving vanuit geïsoleerde toepassingen. De kwetsbaarheid is verholpen in de correctie-updates van flatpak 1.15.8, 1.14.6, 1.12.9 en 1.10.9. Een bypass-oplossing voor bescherming is ook aangeboden in de uitgaves van xdg-desktop-portal 1.16.1 en 1.18.4.
Door de kwetsbaarheid kan een toepassing die zich in een geïsoleerde omgeving bevindt, de xdg-desktop-portal-interface gebruiken om een '.desktop'-bestand te maken met de opstartcommando van de flatpak-toepassing, waarmee het toegang kan krijgen tot bestanden van het hoofdsysteem. Om de geïsoleerde omgeving te verlaten, worden manipulaties uitgevoerd met de parameter '—command', die wordt gebruikt om de naam van het programma door te geven dat zich binnen het flatpak-pakket bevindt en dat moet worden gestart in de geïsoleerde omgeving. Voor het configureren van de geïsoleerde omgeving roept flatpak de bwrap-tool aan, waarbij het de opgegeven programmanaam doorgeeft. Bijvoorbeeld, om de ls-tool in de geïsoleerde omgeving van het pakket te starten, kan de constructie 'flatpak run —command=ls org.gnome.gedit' worden gebruikt, wat zal resulteren in 'bwrap ls'.
De kern van de kwetsbaarheid is dat als de naam van het programma begint met de symbolen '—', het door de bwrap-tool wordt geïnterpreteerd als een eigen optie. Bijvoorbeeld, het uitvoeren van 'flatpak run —command=—bind org.gnome.gedit / /host ls -l /host' zal leiden tot de uitvoering van 'bwrap —bind / /host ls -l /host', dat wil zeggen dat de naam '—bind' niet wordt behandeld als de naam van de te starten toepassing, maar als een optie voor bwrap.
De kwetsbaarheid wordt verergerd doordat de D-Bus-interface «org.freedesktop.portal.Background.RequestBackground» een Flatpak-applicatie toestaat om een willekeurige opdracht uit te voeren met «flatpak run —command», zelfs opdrachten die beginnen met het teken «—». Er werd aangenomen dat het doorgeven van willekeurige opdrachten veilig was, omdat deze uitgevoerd zouden worden in de geïsoleerde omgeving van het pakket. Echter, het werd niet in overweging genomen dat opdrachten die beginnen met «—» als opties door de bwrap-tool zouden worden behandeld. Hierdoor kan de xdg-desktop-portal worden gebruikt om een «.desktop»-bestand te creëren met een opdracht die de kwetsbaarheid misbruikt.
Bron: opennet.ru
