No ambiente do Flatpak, destinado a criar pacotes autossuficientes, independentes de distribuições específicas do Linux e isolados do restante do sistema, foi identificada uma vulnerabilidade (CVE-2024-32462). Essa vulnerabilidade permite que um aplicativo malicioso ou comprometido, fornecido em um pacote flatpak, contorne o modo de isolamento sandbox configurado e acesse arquivos no sistema principal. O problema se manifesta apenas em pacotes que utilizam portais Freedesktop (xdg-desktop-portal), utilizados para organizar o acesso a recursos do ambiente do usuário a partir de aplicativos isolados. A vulnerabilidade foi corrigida nas atualizações flatpak 1.15.8, 1.14.6, 1.12.9 e 1.10.9. Uma solução alternativa para proteção também foi proposta nas versões xdg-desktop-portal 1.16.1 e 1.18.4.
Devido à vulnerabilidade, um aplicativo em um ambiente isolado pode usar a interface xdg-desktop-portal para criar um arquivo «.desktop» com o comando para inicializar um aplicativo do flatpak, permitindo o acesso a arquivos no sistema principal. Para sair do ambiente isolado, são manipulados os parâmetros «—command», usados para passar o nome do programa contido no pacote flatpak que precisa ser iniciado no ambiente isolado. Para configurar o ambiente isolado, o flatpak chama a ferramenta bwrap, passando o nome do programa especificado. Por exemplo, para iniciar a ferramenta ls em um ambiente isolado, pode-se usar a estrutura «flatpak run —command=ls org.gnome.gedit», que resultará na execução de «bwrap ls».
A essência da vulnerabilidade é que, se o nome do programa começar com o símbolo «—«, ele será interpretado pela ferramenta bwrap como uma opção própria. Por exemplo, executar «flatpak run —command=—bind org.gnome.gedit / /host ls -l /host» resultará na execução de «bwrap —bind / /host ls -l /host», ou seja, o nome «—bind» será tratado não como o nome do aplicativo em execução, mas como uma opção do bwrap.
A vulnerabilidade é agravada pelo fato de que a interface D-Bus "org.freedesktop.portal.Background.RequestBackground" permite que um aplicativo do pacote Flatpak especifique qualquer comando a ser executado usando "flatpak run —command", incluindo comandos que começam com o símbolo "—". Supunha-se que a passagem de quaisquer comandos não era perigosa, uma vez que seriam executados em um ambiente isolado do pacote. No entanto, não foi levado em consideração que comandos que começam com "—" seriam tratados como opções pela ferramenta bwrap. Como resultado, a interface xdg-desktop-portal pode ser usada para criar um arquivo " .desktop" com um comando que explora a vulnerabilidade.
Fonte: opennet.ru
