Re: [PATCH] don't allow CAP_NET_ADMIN to load non-netdev kernel modules
From: David Miller <davem@davemloft.net>
Date: 2011-02-25 19:04:55
Also in:
lkml
From: Vasiliy Kulikov <redacted> Date: Fri, 25 Feb 2011 22:02:05 +0300
On Fri, Feb 25, 2011 at 10:47 -0800, David Miller wrote:quoted
From: Vasiliy Kulikov <redacted> Date: Fri, 25 Feb 2011 18:14:14 +0300quoted
Since a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with CAP_NET_ADMIN may load any module from /lib/modules/. This doesn't mean that CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are limited to /lib/modules/**. However, CAP_NET_ADMIN capability shouldn't allow anybody load any module not related to networking.Why go through this naming change, which does break things, instead of simply adding a capability mask tag or similar to modules somehow. You could stick it into a special elf section or similar. Doesn't that make tons more sense than this?This is not "simply", adding special section for a single workaround seems like an overkill for me - this touches the core (modules' internals), which is not related to the initial CAP_* problem at all. I'd be happy with not breaking anything, but I don't see any acceptable solution.
I think it's warranted given that it allows us to avoid breaking things. I don't understand there is resistence in response to the first idea I've seen proprosed that actually allows to fix the problem and not break anything at the same time. That seems silly.