Subject: Re: [PATCH 5/5] net: Use netlink_ns_capable to verify the permisions of netlink messages

From: Stephen Hemminger <[email-masked]>
Date: Thu, 8 May 2014 14:21:21 -0700

On Wed, 07 May 2014 19:45:14 -0400 (EDT)
David Miller <[email-masked]> wrote:

> From: Andy Lutomirski <[email-masked]>
> Date: Wed, 7 May 2014 16:01:33 -0700
> 
> > On Wed, May 7, 2014 at 3:52 PM, David Miller <[email-masked]> wrote:
> >> From: Andy Lutomirski <[email-masked]>
> >> Date: Wed, 7 May 2014 15:26:11 -0700
> >>
> >>> So what do we do?  Check permissions on connect and then use the
> >>> cached result for send on a connected socket?  Check permitted caps
> >>> instead of effective caps?
> >>
> >> It should create the socket after changing perms.
> > 
> > I agree that it should, but it doesn't, and if these patches get
> > backported, things will break.  OTOH, if the patches don't get
> > backported, things may still break, and we have a possibly rather
> > severe unfixed vulnerability.
> 
> I think the kernel change is justified as the privilege allowance
> that happened before was very much unintentional and as you've
> shown us countless times a very real problem that we must fix.

One of the problems here is that Quagga may generate millions of
netlink messages to change routes in response to link flap.
Raising/lowering the permissions around each request would have
a significant performance impact.