lkml.org 
[lkml]   [2012]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 4/4] Allow unprivileged chroot when safe
From
On Mon, Jan 30, 2012 at 4:18 PM, Steven Rostedt <rostedt@goodmis.org> wrote:
> On Mon, 2012-01-30 at 16:58 -0500, Colin Walters wrote:
>> On Mon, 2012-01-30 at 08:17 -0800, Andy Lutomirski wrote:
>> > Chroot can easily be used to subvert setuid programs.  If no_new_privs,
>> > then setuid programs don't gain any privilege, so allow chroot.
>>
>> Is this needed/desired by anyone now, or are you just using it to "demo"
>> NO_NEW_PRIVS?  I don't see it as very useful on its own, since in any
>> "container"-type chroot you really want /proc and /dev, and your patch
>> doesn't help with that.
>>
>> System daemons that do chroot for a modicum of security already start
>> privileged, so this doesn't help them either.
>
> I thought this was all for sandboxing? If a browers (or user) wants to
> run some untrusted code, perhaps a chroot is the best way to do so. It
> just will break if it needs to access /proc or /dev. And perhaps we
> don't want untrusted code accessing /proc and /dev.

Interestingly, I believe this change would work for the Chromium
setuid sandbox[1]. It uses a fancy clone trick (CLONE_FS) to start the
process then chroot once all its dependencies are loaded. It then
chroot()s to /proc/self/fd_info (or another empty process-specific
directory). Of course, pid namespacing still wouldn't be there, but
it'd be nice to have a fallback if someone doesn't want the sandboxing
setup code to have privileges (or can only install unpriv'd code).

cheers!
will
1 - http://code.google.com/p/setuid-sandbox/source/browse/privdrop.c
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2012-01-30 23:41    [W:0.082 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site