]> git.ipfire.org Git - thirdparty/libvirt.git/commit
apparmor: allow getattr on usb devices
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Thu, 17 Nov 2022 08:35:05 +0000 (09:35 +0100)
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>
Tue, 22 Nov 2022 08:44:16 +0000 (09:44 +0100)
commitd6ecd766aa95028b35b6da0d709721720c75c7c1
treed3991ebcf627cc2c62999dc2f0f0d55c585517f0
parent2a2d5860435909f5619725a6c29583db90aa789b
apparmor: allow getattr on usb devices

For the handling of usb we already allow plenty of read access,
but so far /sys/bus/usb/devices only needed read access to the directory
to enumerate the symlinks in there that point to the actual entries via
relative links to ../../../devices/.

But in more recent systemd with updated libraries a program might do
getattr calls on those symlinks. And while symlinks in apparmor usually
do not matter, as it is the effective target of an access that has to be
allowed, here the getattr calls are on the links themselves.

On USB hostdev usage that causes a set of denials like:
 apparmor="DENIED" operation="getattr" class="file"
 name="/sys/bus/usb/devices/usb1" comm="qemu-system-x86"
 requested_mask="r" denied_mask="r" ...

It is safe to read the links, therefore add a rule to allow it to
the block of rules that covers the usb related access.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
src/security/apparmor/libvirt-qemu