[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1291053718.3435.1275.camel@edumazet-laptop>
Date: Mon, 29 Nov 2010 19:01:58 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: David Miller <davem@...emloft.net>
Cc: socketpair@...il.com, netdev@...r.kernel.org
Subject: Re: Simple kernel attack using socketpair. easy, 100%
reproductiblle, works under guest. no way to protect :(
Le lundi 29 novembre 2010 à 09:46 -0800, David Miller a écrit :
> From: Eric Dumazet <eric.dumazet@...il.com>
> Date: Thu, 25 Nov 2010 15:11:39 +0100
>
> > [PATCH] af_unix: limit recursion level
> >
> > Its easy to eat all kernel memory and trigger NMI watchdog, using an
> > exploit program that queues unix sockets on top of others.
> >
> > lkml ref : http://lkml.org/lkml/2010/11/25/8
> >
> > This mechanism is used in applications, one choice we have is to have a
> > recursion limit.
> >
> > Other limits might be needed as well (if we queue other types of files),
> > since the passfd mechanism is currently limited by socket receive queue
> > sizes only.
> >
> > Add a recursion_level to unix socket, allowing up to 4 levels.
> >
> > Each time we send an unix socket through sendfd mechanism, we copy its
> > recursion level (plus one) to receiver. This recursion level is cleared
> > when socket receive queue is emptied.
> >
> > Reported-by: Марк Коренберг <socketpair@...il.com>
> > Signed-off-by: Eric Dumazet <eric.dumazet@...il.com>
>
> Ok, since such deep recursive AF_UNIX fd sends is pretty
> rediculious, it seems this is not likely to hit legitimate
> use cases and thus I've applied this.
>
> Also queued up for -stable.
>
> Thanks!
I tested FreeBSD (latest) and got a kernel freeze as well with exploit
program.
I dont know yet how to fully fix this problem.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists