Wiltzer
(usa Outra)
Enviado em 19/11/2020 - 02:28h
Tradução da página
https://flatkill.org/2020/
Flatpak - um pesadelo de segurança - 2 anos depois
Dois anos atrás, escrevi sobre o então fortemente promovido Flatpak, autoproclamado "Futuro dos Aplicativos no Linux". O artigo fez crítica aos seguintes três fluxos principais em Flatpak:
1. A maioria dos aplicativos tem acesso total ao sistema host, mas os usuários são induzidos a acreditar que os aplicativos estão em sandbox;
2. Os runtimes do flatpak não recebem atualizações de segurança;
3. Flatpak quebra muitos aspectos da integração do desktop.
Então, vamos ver como os desenvolvedores Flatpak trataram dessas questões fundamentais.
O sandbox CONTINUA SENDO uma mentira
Quase todos os aplicativos populares no Flathub ainda vêm com permissões
filesystem=host ou
filesystem=home, em outras palavras, acesso de escrita ao diretório home do usuário (e mais), portanto, tudo o que é necessário para escapar da sandbox é o trivial
echo baixar_e_executar_o_mal >> ~/.bashrc. É só isso!
Os aplicativos mais populares no Flathub ainda sofrem com isso - Gimp, VSCodium, PyCharm, Octave, Inkscape, Audacity, VLC
ainda não estão em sandbox.
E, de fato, os usuários ainda são enganados pelo ícone azul "sandbox" reconfortante. Dois anos não são suficientes para adicionar um aviso de que um aplicativo não está em sandbox se vier com permissões perigosas (como acesso total ao seu diretório home)? É sério?
Imagem:
https://flatkill.org/2020/sandboxlie.png
Os aplicativos e tempos de execução Flatpak AINDA contêm falhas de segurança conhecidas há muito tempo
Levei cerca de 20 minutos para encontrar a primeira vulnerabilidade em um aplicativo Flathub com acesso total ao host e nem me preocupei em usar um scanner de vulnerabilidade.
Um exemplo perfeito é CVE-2019-17498 com exploit público disponível
por cerca de 8 meses. O primeiro aplicativo no Flathub que descobri que usa a biblioteca libssh2 é o Gitg e, de fato, é fornecido com libssh2 sem patch.
Mas é apenas uma aplicação? Vejamos os runtimes oficiais no "coração" do Flatpak (org.freedesktop.Platform and org.gnome.Platform 3.36 - no momento da escrita, usados pela maioria dos aplicativos no Flathub). A primeira dependência vulnerável sem patch que encontrei no runtime oficial é o ffmpeg na versão 4.2.1 sem patches de segurança portados, CVE-2020-12284.
Recentemente me deparei com um artigo de 2011 que deu início ao que hoje é conhecido como flatpak, nas palavras do fundador do projeto:
"Outro problema são as atualizações de segurança (ou correção de bug) em bibliotecas agrupadas. Com bibliotecas agrupadas, é muito mais difícil atualizar uma única biblioteca, pois você precisa encontrar e atualizar cada aplicativo que a usa. Melhor suporte de ferramentas e atualização pode diminuir o impacto de isso, mas não eliminá-lo completamente."
https://people.gnome.org/~alexl/glick2
Depois de ler isso, não é nenhuma surpresa que o flatpak ainda sofre dos mesmos problemas de segurança de 2 anos atrás, porque os desenvolvedores do flatpak sabiam desses problemas desde o início.
Explorações de root locais NÃO são mais consideradas um problema menor!
Ótimo! Dois anos atrás, eu escrevi sobre uma exploração trivial de root local usando flatpak para instalar binários suid (CVE-2017-9780) e como isso foi minimizado pelos desenvolvedores de Flatpak como um pequeno problema de segurança aqui. Estou feliz em ver que pelo menos a atitude em relação aos exploits de root locais mudou e hoje os exploits de root locais são considerados de alta severidade.
Integração com o desktop
As fontes do sistema e do usuário agora estão disponíveis para aplicativos flatpak e as configurações básicas de renderização de fontes também são respeitadas; no entanto, não espere alterações em /etc/fonts, normalmente configurando uma fonte substituta adequada para caracteres CJK, para funcionar com o flatpak. Os aplicativos KDE no flatpak ainda estão ignorando temas, fontes e configurações de ícones (testados com Qt5ct). Os aplicativos instalados a partir das fontes de distribuição não apresentam esses problemas, é claro. Uma captura de tela rápida para demonstrar =
https://flatkill.org/2020/desktopbrokenation.mp4
Mais importante, fcitx, o IME para chinês ainda está quebrado - já se passaram 2 anos. Aqui está o problema que vinculei há 2 anos - especialmente interessante é o seguinte comentário diretamente do desenvolvedor da fcitx:
"Porque o módulo fcitx im em flatpak é de 4.2.97 e usa um caminho de objeto dbus diferente.
Ele precisa ser a mesma versão do fcitx em seu host."
Portanto, preciso executar vários daemons fcitx na minha área de trabalho e alternar entre eles conforme alterno os aplicativos flatpak, dependendo de quais bibliotecas fcitx estão agrupadas com esse aplicativo ou talvez no futuro das aplicações Linux não seja mais possível digitar em chinês e está tudo bem?
Embora a abordagem "agrupar tudo" tenha se mostrado muito útil em servidores, ela claramente não funciona para aplicativos de desktop, vamos continuar vinculando as bibliotecas do sistema em aplicativos de desktop (e usar as bibliotecas agrupadas apenas como fallback) para evitar a introdução de todos esses problemas no desktop Linux.