Re: Linux 2.2.18pre21

Peter Samuelson
2000-11-17T11:53:13Z

[I wrote]
> > mkdir("foo")
> > chroot("foo")

[H. Peter Anvin]
> BUG: you *MUST* chdir() into the chroot jail before it does you any
> good at all!

No, it wasn't a bug! It was a demonstration. The above code is
executed not by the application but by the *attacker* who has managed
to 0wn the existing jail.

Doing the additional chroot("foo") without already being in "foo"
basically replaces the chroot jail you *were* in, so you are now out.

The sequence I posted is just the simplest un-chroot procedure I know,
to explain why chroot cannot sandbox the superuser.

Peter