firejail/etc/profile-a-l/loupe.profile
Kelvin M. Klann 6c91074fc9
profiles: loupe: harden and disable apparmor (#6333)
The profile currently does not include disable-common nor makes
`${HOME}` read-only, so the program can simply write to ~/.bashrc
directly[1].

disable-common.inc was commented due to it apparently breaking bwrap.
As discovered by @glitsj16, it seems that allowing the bwrap binary is
enough to make it work (and that apparmor breaks loupe)[2].

So disable apparmor, allow bwrap and include disable-common.inc, plus
other hardening by @glitsj16.

This amends commit 9a0db13e1 ("profiles: add loupe", 2024-04-30) /
PR #6327.

[1] https://github.com/netblue30/firejail/pull/6327#pullrequestreview-2033860865
[2] https://github.com/netblue30/firejail/pull/6333#issuecomment-2099805480
2024-05-12 17:45:47 +00:00

58 lines
1.2 KiB
Text

# Firejail profile for loupe
# Description: GNOME's modern Image Viewer program
# This file is overwritten after every install/update
# Persistent local customizations
include loupe.local
# Persistent global definitions
include globals.local
noblacklist ${HOME}/.local/share/Trash
noblacklist ${HOME}/.Steam
noblacklist ${HOME}/.steam
noblacklist ${PATH}/bwrap
include disable-common.inc
include disable-devel.inc
include disable-exec.inc
include disable-interpreters.inc
include disable-programs.inc
include disable-write-mnt.inc
#whitelist /usr/share/glycin-loaders
include whitelist-runuser-common.inc
#include whitelist-usr-share-common.inc
include whitelist-var-common.inc
#apparmor
caps.drop all
ipc-namespace
machine-id
net none
nodvd
nogroups
noinput
nonewprivs
noprinters
noroot
nosound
notv
nou2f
novideo
protocol unix,netlink
#loupe decodes all images in their own sandbox via glycin
#https://gitlab.gnome.org/sophie-h/glycin#sandboxing-and-inner-workings
#seccomp
seccomp.block-secondary
tracelog
private-bin bwrap,loupe
private-cache
private-dev
private-etc @x11
private-tmp
dbus-user none
dbus-system none
#read-only ${HOME} # breaks "Move to trash" and "Set as background"