diff --git a/apparmor.d/groups/browsers/firefox-crashreporter b/apparmor.d/groups/browsers/firefox-crashreporter index 076c235c..651be434 100644 --- a/apparmor.d/groups/browsers/firefox-crashreporter +++ b/apparmor.d/groups/browsers/firefox-crashreporter @@ -41,8 +41,11 @@ profile firefox-crashreporter @{exec_path} flags=(attach_disconnected) { owner "@{firefox_config_dirs}/firefox/Crash Reports/{,**}" rw, owner @{firefox_config_dirs}/*.*/crashes/{,**} rw, + owner @{firefox_config_dirs}/*.*/crashes/events/@{uuid} rw, owner @{firefox_config_dirs}/*.*/extensions/*.xpi r, owner @{firefox_config_dirs}/*.*/minidumps/{,**} rw, + owner @{firefox_config_dirs}/*.*/minidumps//@{uuid}.{dmp,extra} r, + owner @{firefox_config_dirs}/*.*/storage/default/* r, owner @{firefox_cache_dirs}/firefox/*.*/** r, diff --git a/apparmor.d/groups/browsers/firefox-minidump-analyzer b/apparmor.d/groups/browsers/firefox-minidump-analyzer index 7b81a0f4..1b00c974 100644 --- a/apparmor.d/groups/browsers/firefox-minidump-analyzer +++ b/apparmor.d/groups/browsers/firefox-minidump-analyzer @@ -30,6 +30,7 @@ profile firefox-minidump-analyzer @{exec_path} { owner @{firefox_config_dirs}/*.*/extensions/*.xpi r, owner @{firefox_config_dirs}/*.*/minidumps/ rw, owner @{firefox_config_dirs}/*.*/minidumps/@{uuid}.{dmp,extra} rw, + owner @{firefox_config_dirs}/*.*/storage/default/* r, owner @{firefox_cache_dirs}/firefox/*.*/startupCache/*Cache* r, diff --git a/apparmor.d/groups/freedesktop/iio-sensor-proxy b/apparmor.d/groups/freedesktop/iio-sensor-proxy index 0840a0d6..aceb5cc3 100644 --- a/apparmor.d/groups/freedesktop/iio-sensor-proxy +++ b/apparmor.d/groups/freedesktop/iio-sensor-proxy @@ -23,9 +23,13 @@ profile iio-sensor-proxy @{exec_path} { @{sys}/bus/ r, @{sys}/bus/iio/devices/ r, + @{sys}/bus/platform/devices/ r, @{sys}/class/ r, + @{sys}/class/input/ r, @{sys}/devices/**/uevent r, + @{sys}/devices/pci[0-9]*/**/ r, @{sys}/devices/pci[0-9]*/**/iio:*/** rw, + @{sys}/devices/pci[0-9]*/**/name r, /dev/iio:* r, diff --git a/apparmor.d/groups/freedesktop/pipewire b/apparmor.d/groups/freedesktop/pipewire index 9ea1267a..0878438d 100644 --- a/apparmor.d/groups/freedesktop/pipewire +++ b/apparmor.d/groups/freedesktop/pipewire @@ -80,6 +80,8 @@ profile pipewire @{exec_path} flags=(attach_disconnected) { @{sys}/devices/pci[0-9]*/**/usb[0-9]/**/{idVendor,idProduct,removable,uevent} r, @{sys}/devices/virtual/dmi/id/{sys_vendor,product_version,product_name,bios_vendor} r, + owner @{PROC}/@{pid}/task/@{tid}/comm rw, + /dev/media[0-9]* rw, include if exists diff --git a/apparmor.d/groups/freedesktop/update-mime-database b/apparmor.d/groups/freedesktop/update-mime-database index e81fa909..fbda9c4e 100644 --- a/apparmor.d/groups/freedesktop/update-mime-database +++ b/apparmor.d/groups/freedesktop/update-mime-database @@ -9,6 +9,7 @@ include @{exec_path} = @{bin}/update-mime-database profile update-mime-database @{exec_path} { include + include include capability dac_override, diff --git a/apparmor.d/groups/freedesktop/upowerd b/apparmor.d/groups/freedesktop/upowerd index 09e0dbee..dd79608d 100644 --- a/apparmor.d/groups/freedesktop/upowerd +++ b/apparmor.d/groups/freedesktop/upowerd @@ -54,9 +54,10 @@ profile upowerd @{exec_path} flags=(attach_disconnected) { @{run}/udev/data/+pci* r, @{run}/udev/data/+platform* r, @{run}/udev/data/+power_supply* r, - @{run}/udev/data/+sound:card[0-9]* r, # For sound + @{run}/udev/data/+sound:card[0-9]* r, # for sound + @{run}/udev/data/c10:[0-9]* r, # for non-serial mice, misc features + @{run}/udev/data/c13:[0-9]* r, # for /dev/input/* @{run}/udev/data/c116:[0-9]* r, # for ALSA - @{run}/udev/data/c13:[0-9]* r, # for /dev/input/* @{run}/systemd/inhibit/[0-9]*.ref rw, diff --git a/apparmor.d/groups/gnome/gnome-control-center b/apparmor.d/groups/gnome/gnome-control-center index 2623aedc..67159e3e 100644 --- a/apparmor.d/groups/gnome/gnome-control-center +++ b/apparmor.d/groups/gnome/gnome-control-center @@ -81,6 +81,7 @@ profile gnome-control-center @{exec_path} flags=(attach_disconnected) { @{bin}/software-properties-gtk rPx, @{bin}/usermod rPx, @{lib}/@{multiarch}/webkit2gtk-{3,4}.0/WebKitNetworkProcess rix, + @{lib}/cups/backend/snmp rPx, @{lib}/gnome-control-center-goa-helper rPx, @{lib}/gnome-control-center-print-renderer rPx, @{lib}/webkit2gtk-{3,4}.0/WebKitNetworkProcess rix, diff --git a/apparmor.d/groups/gnome/gsd-print-notifications b/apparmor.d/groups/gnome/gsd-print-notifications index ee94a2c1..c31e1eef 100644 --- a/apparmor.d/groups/gnome/gsd-print-notifications +++ b/apparmor.d/groups/gnome/gsd-print-notifications @@ -84,6 +84,7 @@ profile gsd-print-notifications @{exec_path} flags=(attach_disconnected) { @{run}/cups/cups.sock rw, + owner @{PROC}/@{pid}/cgroup r, owner @{PROC}/@{pid}/fd/ r, owner /dev/tty[0-9]* rw, diff --git a/apparmor.d/groups/gnome/tracker-extract b/apparmor.d/groups/gnome/tracker-extract index 07b909f8..a130cf57 100644 --- a/apparmor.d/groups/gnome/tracker-extract +++ b/apparmor.d/groups/gnome/tracker-extract @@ -109,6 +109,10 @@ profile tracker-extract @{exec_path} flags=(attach_disconnected) { @{run}/udev/data/c23[4-9]:[0-9]* r, # For dynamic assignment range 234 to 254 @{run}/udev/data/c24[0-9]:[0-9]* r, @{run}/udev/data/c25[0-4]:[0-9]* r, + @{run}/udev/data/c3[0-9]*:[0-9]* r, # For dynamic assignment range 384 to 511 + @{run}/udev/data/c4[0-9]*:[0-9]* r, + @{run}/udev/data/c5[0-9]*:[0-9]* r, + @{run}/mount/utab r, owner @{PROC}/@{pid}/fd/ r, diff --git a/apparmor.d/groups/network/tailscaled b/apparmor.d/groups/network/tailscaled index c6d72084..eaf06cb9 100644 --- a/apparmor.d/groups/network/tailscaled +++ b/apparmor.d/groups/network/tailscaled @@ -76,6 +76,9 @@ profile tailscaled @{exec_path} flags=(attach_disconnected) { @{bin}/systemctl mr, + @{PROC}/ r, + @{PROC}/@{pid}/fd/ r, + /dev/net/tun rw, } diff --git a/apparmor.d/groups/systemd/systemd-backlight b/apparmor.d/groups/systemd/systemd-backlight index 56e527d1..22cbf061 100644 --- a/apparmor.d/groups/systemd/systemd-backlight +++ b/apparmor.d/groups/systemd/systemd-backlight @@ -28,6 +28,7 @@ profile systemd-backlight @{exec_path} { @{sys}/class/backlight/ r, @{sys}/devices/pci[0-9]*/*:[0-9]*.[0-9]*/**/ r, + @{sys}/devices/pci[0-9]*/**/ r, @{sys}/devices/pci[0-9]*/**/backlight/**/{max_brightness,actual_brightness} r, @{sys}/devices/pci[0-9]*/**/backlight/**/{uevent,type} r, @{sys}/devices/pci[0-9]*/**/backlight/**/brightness rw, diff --git a/apparmor.d/groups/systemd/systemd-sysusers b/apparmor.d/groups/systemd/systemd-sysusers index 3b0a9370..32962c00 100644 --- a/apparmor.d/groups/systemd/systemd-sysusers +++ b/apparmor.d/groups/systemd/systemd-sysusers @@ -9,6 +9,7 @@ include @{exec_path} = @{bin}/systemd-sysusers profile systemd-sysusers @{exec_path} flags=(attach_disconnected) { include + include include capability chown, diff --git a/apparmor.d/groups/virt/cockpit-bridge b/apparmor.d/groups/virt/cockpit-bridge index e2bb2e47..fc6dbaf5 100644 --- a/apparmor.d/groups/virt/cockpit-bridge +++ b/apparmor.d/groups/virt/cockpit-bridge @@ -16,6 +16,7 @@ profile cockpit-bridge @{exec_path} { include capability dac_read_search, + capability net_admin, capability sys_nice, network inet dgram, @@ -41,8 +42,10 @@ profile cockpit-bridge @{exec_path} { /usr/share/cockpit/{,**} r, /etc/cockpit/{,**} r, + /etc/httpd/conf/mime.types r, /etc/login.defs r, /etc/machine-id r, + /etc/mime.types r, /etc/motd r, /etc/shadow r, /etc/shells r, diff --git a/apparmor.d/groups/virt/libvirtd b/apparmor.d/groups/virt/libvirtd index b7cc408f..b6627386 100644 --- a/apparmor.d/groups/virt/libvirtd +++ b/apparmor.d/groups/virt/libvirtd @@ -204,6 +204,7 @@ profile libvirtd @{exec_path} flags=(attach_disconnected) { @{sys}/devices/pci[0-9]*/**/mdev_supported_types/*/create w, @{sys}/devices/pci[0-9]*/**/net/*/{,**} r, @{sys}/devices/pci[0-9]*/**/remove w, + @{sys}/devices/pci[0-9]*/**/resource r @{sys}/devices/pci[0-9]*/**/sriov_totalvfs r, @{sys}/devices/system/cpu/cpu[0-9]*/cache/{,**} r, diff --git a/apparmor.d/profiles-a-f/cupsd b/apparmor.d/profiles-a-f/cupsd index dbfa1580..35525396 100644 --- a/apparmor.d/profiles-a-f/cupsd +++ b/apparmor.d/profiles-a-f/cupsd @@ -72,8 +72,9 @@ profile cupsd @{exec_path} flags=(attach_disconnected) { @{lib}/cups/notifier/* rix, /usr/share/cups/{,**} r, - /usr/share/ppd/{,**} r, /usr/share/ghostscript/{,**} r, + /usr/share/poppler/{,**} r, + /usr/share/ppd/{,**} r, /etc/cups/{,**} rw, /etc/foomatic/* r, diff --git a/apparmor.d/profiles-a-f/dkms b/apparmor.d/profiles-a-f/dkms index 0de4bb50..a248af89 100644 --- a/apparmor.d/profiles-a-f/dkms +++ b/apparmor.d/profiles-a-f/dkms @@ -121,6 +121,8 @@ profile dkms @{exec_path} flags=(attach_disconnected) { owner /boot/System.map-* r, + owner /tmp/tmp.* r, + # Inherit silencer deny /apparmor/.null rw, diff --git a/apparmor.d/profiles-a-f/findmnt b/apparmor.d/profiles-a-f/findmnt index 5e2cdf72..a3aa526e 100644 --- a/apparmor.d/profiles-a-f/findmnt +++ b/apparmor.d/profiles-a-f/findmnt @@ -15,6 +15,8 @@ profile findmnt @{exec_path} flags=(attach_disconnected,complain) { capability dac_read_search, + unix (receive) type=stream, + @{exec_path} mr, /etc/fstab r, diff --git a/apparmor.d/profiles-g-l/gssproxy b/apparmor.d/profiles-g-l/gssproxy index 69d4b6f3..ff0c9b39 100644 --- a/apparmor.d/profiles-g-l/gssproxy +++ b/apparmor.d/profiles-g-l/gssproxy @@ -14,6 +14,8 @@ profile gssproxy @{exec_path} { @{exec_path} mr, + @{lib}/ r, + /etc/gssproxy/{,**} r, owner /var/lib/gssproxy/{,**} rw, diff --git a/apparmor.d/profiles-m-r/nfsdcld b/apparmor.d/profiles-m-r/nfsdcld index a2bca95c..064170a8 100644 --- a/apparmor.d/profiles-m-r/nfsdcld +++ b/apparmor.d/profiles-m-r/nfsdcld @@ -10,7 +10,16 @@ include profile nfsdcld @{exec_path} { include + capability mknod, + capability setpcap, + @{exec_path} mr, + /etc/nfs.conf r, + /etc/nfs.conf rk, + + /var/lib/nfs/nfsdcld/{,**} rw, + /var/lib/nfs/rpc_pipefs/nfsd/* rw, + include if exists } \ No newline at end of file diff --git a/apparmor.d/profiles-m-r/nvtop b/apparmor.d/profiles-m-r/nvtop index 8a89c8ba..339d8548 100644 --- a/apparmor.d/profiles-m-r/nvtop +++ b/apparmor.d/profiles-m-r/nvtop @@ -10,6 +10,7 @@ include profile nvtop @{exec_path} flags=(attach_disconnected) { include include + include include include include @@ -36,8 +37,9 @@ profile nvtop @{exec_path} flags=(attach_disconnected) { @{sys}/bus/ r, @{sys}/class/ r, @{sys}/class/drm/ r, - @{sys}/devices/pci[0-9]*/**/enable r, @{sys}/devices/pci[0-9]*/**/drm/card[0-9]*/gt_cur_freq_mhz r, + @{sys}/devices/pci[0-9]*/**/enable r, + @{sys}/devices/system/node/node[0-9]*/cpumap r, @{PROC}/ r, @{PROC}/@{pids}/ r, diff --git a/apparmor.d/profiles-m-r/pass b/apparmor.d/profiles-m-r/pass index c55151b1..fe43edf0 100644 --- a/apparmor.d/profiles-m-r/pass +++ b/apparmor.d/profiles-m-r/pass @@ -86,7 +86,7 @@ profile pass @{exec_path} { owner @{user_cache_dirs}/vim/{,**} rw, owner @{user_config_dirs}/vim/{,**} rw, - /dev/shm/pass.*/{,*} rw, + owner /dev/shm/pass.*/{,*} rw, deny owner @{HOME}/ r, @@ -140,6 +140,7 @@ profile pass @{exec_path} { owner @{user_password_store_dirs}/ rw, owner @{user_password_store_dirs}/** rwkl -> @{HOME}/.password-store/**, + owner /dev/shm/pass.*/{,*} rw, include if exists } diff --git a/apparmor.d/profiles-s-z/scrcpy b/apparmor.d/profiles-s-z/scrcpy index 2b5fe8de..4c651624 100644 --- a/apparmor.d/profiles-s-z/scrcpy +++ b/apparmor.d/profiles-s-z/scrcpy @@ -32,6 +32,15 @@ profile scrcpy @{exec_path} { /var/lib/dbus/machine-id r, owner @{user_config_dirs}/ibus/bus/{,@{hex}-unix{,-wayland}-[0-9]} r, + owner @{user_config_dirs}/pulse/client.conf r, + owner @{user_config_dirs}/pulse/cookie r, + owner @{user_config_dirs}/pulse/cookie rk, + + owner @{run}/user/@{uid}/pulse/ r, + + /dev/shm/ r, + + deny @{user_share_dirs}/gvfs-metadata/* r, include if exists } diff --git a/apparmor.d/profiles-s-z/who b/apparmor.d/profiles-s-z/who index 7cc0a6d3..c5846dbb 100644 --- a/apparmor.d/profiles-s-z/who +++ b/apparmor.d/profiles-s-z/who @@ -17,5 +17,7 @@ profile who @{exec_path} { @{exec_path} mr, + deny owner @{user_share_dirs}/gvfs-metadata/{,*} r, + include if exists } diff --git a/apparmor.d/profiles-s-z/wireplumber b/apparmor.d/profiles-s-z/wireplumber index 7f4d455d..30a951e8 100644 --- a/apparmor.d/profiles-s-z/wireplumber +++ b/apparmor.d/profiles-s-z/wireplumber @@ -59,6 +59,8 @@ profile wireplumber @{exec_path} { @{sys}/devices/pci[0-9]*/**/video4linux/video[0-9]*/uevent r, @{sys}/devices/virtual/dmi/id/bios_vendor r, + owner @{PROC}/@{pid}/task/@{tid}/comm rw, + /dev/media[0-9]* rw, /dev/snd/ r,