Re: [PATCH] don't allow CAP_NET_ADMIN to load non-netdev kernelmodules

From: Ben Hutchings
Date: Fri Feb 25 2011 - 14:08:11 EST


On Fri, 2011-02-25 at 11:05 -0800, David Miller wrote:
> From: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
> Date: Fri, 25 Feb 2011 22:02:05 +0300
>
> > On Fri, Feb 25, 2011 at 10:47 -0800, David Miller wrote:
> >> From: Vasiliy Kulikov <segoon@xxxxxxxxxxxx>
> >> Date: Fri, 25 Feb 2011 18:14:14 +0300
> >>
> >> > 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.

You realise that module loading doesn't actually run in the context of
request_module(), right?

Ben.

--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/