From: Al Viro <viro@ZenIV.linux.org.uk>
To: Dmitry Vyukov <dvyukov@google.com>
Cc: David Howells <dhowells@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Miklos Szeredi <mszeredi@suse.cz>,
syzkaller <syzkaller@googlegroups.com>,
Kostya Serebryany <kcc@google.com>,
Alexander Potapenko <glider@google.com>,
Eric Dumazet <edumazet@google.com>,
Sasha Levin <sasha.levin@oracle.com>,
Robert Swiecki <swiecki@google.com>,
Kees Cook <keescook@google.com>
Subject: Re: fs: sandboxed process brings host down
Date: Fri, 22 Jan 2016 21:55:37 +0000 [thread overview]
Message-ID: <20160122215537.GH17997@ZenIV.linux.org.uk> (raw)
In-Reply-To: <CACT4Y+b7TKbS6iaPLuo0iZStRJQ3BOBLTG1ZyC2nrh-=66bWDA@mail.gmail.com>
On Fri, Jan 22, 2016 at 10:38:40PM +0100, Dmitry Vyukov wrote:
> My 2GB VM dies at around just 10-th iteration, is it normal?
> Each iteration consumes several hundreds of megs of kernel memory. And
> there seems to be exponential slowdown at around 5-th iteration.
> I understand that there can be lots of forms of a local DoS. But there
> seems to be something pathological about this particular one. And it
> happens only with sandboxing that is meant to reduce DoS
> possibilities...
Sandboxing == giving attacker to do mount without being root.
As for exponential - sure, you double the amount of mounts on each step
(if not quadruple - I don't have your code in front of me right now,
but ISTR two mount --rbind in there). More obvious form would be
for i in `seq 64`; do mkdir /tmp/$i; mount --rbind / /tmp/$i; done - there
the entire tree would be visible (and visibly exponential by the number of
iterations).
I doubt that the first iteration chews hundreds of megs, BTW. If you
really get two mount --rbind per iteration, you would have about a million-fold
increase of the number of mounts after ten iterations, and having that chew
2Gb is quite plausible; in that case the first iteration would eat about 10K
or so...
next prev parent reply other threads:[~2016-01-22 21:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-22 21:06 fs: sandboxed process brings host down Dmitry Vyukov
2016-01-22 21:21 ` Al Viro
2016-01-22 21:38 ` Dmitry Vyukov
2016-01-22 21:55 ` Al Viro [this message]
2016-01-22 22:32 ` Robert Święcki
2016-01-22 21:46 ` Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160122215537.GH17997@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=dhowells@redhat.com \
--cc=dvyukov@google.com \
--cc=edumazet@google.com \
--cc=glider@google.com \
--cc=kcc@google.com \
--cc=keescook@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mszeredi@suse.cz \
--cc=sasha.levin@oracle.com \
--cc=swiecki@google.com \
--cc=syzkaller@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.