Re: [RFC][PATCH 0/3] vfs: Detach mounts on unlink.

From: Rob Landley
Date: Sat Oct 05 2013 - 20:18:21 EST


On 10/05/2013 06:22:15 PM, Linus Torvalds wrote:
On Sat, Oct 5, 2013 at 4:17 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> So learn this pattern: every time you use chroot, add a simple
>
> chdir("/");
>
> immediately after the chroot call.

.. btw, also make sure that you close all non-essential file
descriptors. Having any open directory file descriptors pointing to
outside the chroot is also a classic escape.

Even then, escaping chroot is usually fairly easy. Making a
escape-proof chroot is really quite hard. Basically impossible if you
allow root.

Which is why containers have all sorts of extra plumbing. But that extra plumbing is currently built on pivot_root(), not on chroot(). And I'd dismissed pivot_root() as residue from initramfs with all that kernel thread reparenting, so it seemed like the wrong tool for the job, but obviously I'll take your and Al's word it's not...

Rob--
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/