Quoting Eric Paris (eparis@xxxxxxxxxx): > On Thu, 2009-08-13 at 12:54 -0500, Serge E. Hallyn wrote: > > Quoting Eric Paris (eparis@xxxxxxxxxx): > > > On Thu, 2009-08-13 at 09:03 -0500, Serge E. Hallyn wrote: > > > > Quoting Eric Paris (eparis@xxxxxxxxxx): > > > > > Calling request_module() will trigger a userspace upcall which will load a > > > > > new module into the kernel. This can be a dangerous event if the process > > > > > able to trigger request_module() is able to control either the modprobe > > > > > binary or the module binary. This patch adds a new security hook to > > > > > request_module() which can be used by an LSM to control a processes ability > > > > > to call request_module(). > > > > > > > > Is there a specific case in which you'd want to deny this ability > > > > from a real task? > > > > > > qemu and any network facing daemon are all programs I don't want to be > > > able to even ask the kernel to load a module. Clearly you are right, > > > > ... What if the network facing daemon might want to use a kernel crypto > > module? What if qemu needs the tun module loaded? > > Loading code into the kernel is a dangerous operation. We should find > the places where high risk processes are doing this and either choose to > accept the security risk or make sure they are loaded before the > dangerous code is run, aka libvirt knows if the guest needs the tun > device and it should be allowed to trigger it's loading. It's shouldn't > be the guest doing the triggering. Well, I continue to be dubious, but the hook does no harm so in case it sounded otherwise, I don't object. Mind you the right thing to do would be i.e. in the qemu case to have a more privileged helper load the needed modules and then fire off a qemu unable to cause module loads. If userspace is willing to jump through that rather minimal hoop then this could be useful I suppose. thanks, -serge -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with the words "unsubscribe selinux" without quotes as the message.