Identificouse unha vulnerabilidade (CVE-2024-32462) no conxunto de ferramentas Flatpak, deseñado para crear paquetes autónomos que non estean ligados a distribucións Linux específicas e que estean illados do resto do sistema. A vulnerabilidade permite que unha aplicación maliciosa ou comprometida proporcionada no paquete flatpak evite o modo de illamento da caixa de probas e acceda aos ficheiros do sistema principal. O problema só aparece nos paquetes que usan portais Freedesktop (xdg-desktop-portal), que se utilizan para proporcionar acceso aos recursos da contorna de usuario desde aplicacións illadas. A vulnerabilidade foi corrixida nos parches flatpak 1.15.8, 1.14.6, 1.12.9 e 1.10.9. Tamén se proporcionou unha solución de seguridade nas versións 1.16.1 e 1.18.4 de xdg-desktop-portal.
Grazas á vulnerabilidade, unha aplicación situada nun entorno sandbox pode usar a interface xdg-desktop-portal para crear un ficheiro ".desktop" cun comando para iniciar a aplicación desde flatpak, permitindo o acceso aos ficheiros do sistema principal. Para saír do ambiente illado, manipule o parámetro "--command", que se usa para pasar o nome do programa situado dentro do paquete flatpak que se debe executar no ambiente illado. Para configurar un entorno sandbox, flatpak chama á utilidade bwrap, pasándolle o nome do programa especificado. Por exemplo, para executar a utilidade ls nun contorno de paquetes illado, pode usar a construción "flatpak run —command=ls org.gnome.gedit" que executará "bwrap <isolation_options> ls".
A esencia da vulnerabilidade é que se o nome do programa comeza cos caracteres "—", entón a utilidade bwrap percibirá a súa propia opción. Por exemplo, executar "flatpak run —command=—bind org.gnome.gedit / /host ls -l /host" executará "bwrap <isolation_options> —bind / /host ls -l /host", é dicir. o nome "--bind" non se tratará como o nome da aplicación que se vai iniciar, senón como unha opción de bwrap.
A vulnerabilidade vese agravada polo feito de que a interface D-Bus "org.freedesktop.portal.Background.RequestBackground" permite que unha aplicación do paquete Flatpak especifique calquera comando que se execute mediante "flatpak run -command", incluídos os que comezan por o carácter "-". Supoñíase que enviar ordes non era perigoso, xa que se executarían nun ambiente illado do paquete. Pero non se tivo en conta que os comandos que comezan por “—” serán procesados como opcións pola utilidade bwrap. Como resultado, a interface xdg-desktop-portal pódese usar para crear un ficheiro ".desktop" cun comando que explote a vulnerabilidade.
Fonte: opennet.ru
