From: Christer Weinigel <christer@weinigel.se>
To: David Newall <david@davidnewall.com>
Cc: Al Viro <viro@ftp.linux.org.uk>, Phillip Susi <psusi@cfl.rr.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Bill Davidsen <davidsen@tmr.com>, majkls <majkls@prepere.com>,
bunk@fs.tum.de, linux-kernel@vger.kernel.org
Subject: Re: sys_chroot+sys_fchdir Fix
Date: Wed, 26 Sep 2007 21:24:08 +0200 [thread overview]
Message-ID: <20070926212408.6662231a@zoo.weinigel.se> (raw)
In-Reply-To: <46FA35A6.1070400@davidnewall.com>
On Wed, 26 Sep 2007 20:04:14 +0930
David Newall <david@davidnewall.com> wrote:
> Al Viro wrote:
> > Oh, for fsck sake... Folks, it's standard-required behaviour.
> > Ability to chroot() implies the ability to break out of it. Could
> > we please add that (along with reference to SuS) to l-k FAQ and be
> > done with that nonsense?
>
> I'm pretty confident that it's only standard behavior for Linux.
> Every other unix says it's not allowed.
So how about reading up on the subject instead?
*spends five minutes with Google*
>From the OpenBSD FAQ (an operating system most know for being really,
really focused on security):
http://www.openbsd.org/faq/faq10.html
Any application which has to assume root privileges to operate is
pointless to attempt to chroot(2), as root can generally escape a
chroot(2).
Solaris:
http://www.softpanorama.org/Solaris/Security/solaris_privilege_sets.shtml
You must be root to make the chroot() call, and you should quickly
change to non-root (a root user can escape a chroot environment,
so if it's to be effective, you need to drop that privilege).
A chroot FAQ:
http://www.unixwiz.net/techtips/chroot-practices.html
There are well-known techniques used to escape from jail, but the
most common one requires root privileges inside the jail.
Another chroot FAT one linked to from the previous one:
http://www.bpfh.net/simes/computing/chroot-break.html
This page details how the chroot() system call can be used to
provide an additional layer of security when running untrusted
programs. It also details how this additional layer of security
can be circumvented.
Whilst chroot() is reasonably secure, a program can escape from
its trap.
Yet Another FAQ, this time about secure Unix Programming:
http://www.faqs.org/faqs/unix-faq/programmer/secure-programming/
chroot() only limits the file system scope and nothing else.
[further descriptions of how to break out of chroot, with and
without root privileges]
Convinced?
/Christer
--
"Just how much can I get away with and still go to heaven?"
Christer Weinigel <christer@weinigel.se> http://www.weinigel.se
next prev parent reply other threads:[~2007-09-26 19:32 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-19 7:19 majkls
2007-09-19 9:40 ` Alan Cox
2007-09-19 18:27 ` Bill Davidsen
2007-09-19 18:45 ` Alan Cox
2007-09-19 22:24 ` David Newall
2007-09-21 17:39 ` Phillip Susi
2007-09-21 18:10 ` Alan Cox
2007-09-25 20:53 ` Phillip Susi
2007-09-26 0:23 ` Al Viro
2007-09-26 10:34 ` David Newall
2007-09-26 11:21 ` Alan Cox
2007-09-26 11:22 ` David Newall
2007-09-26 11:38 ` Alan Cox
2007-09-26 11:56 ` David Newall
2007-09-26 14:10 ` Alan Cox
2007-09-26 15:03 ` Chris Adams
2007-09-26 16:54 ` David Newall
2007-09-26 17:04 ` Alan Cox
2007-09-26 17:18 ` David Newall
2007-09-26 17:29 ` Alan Cox
2007-09-26 17:28 ` David Newall
2007-09-26 18:40 ` Al Viro
2007-09-26 19:24 ` Christer Weinigel [this message]
2007-09-26 21:19 ` David Newall
2007-09-26 21:55 ` Adrian Bunk
2007-09-26 23:35 ` David Newall
2007-09-27 0:01 ` Adrian Bunk
2007-09-27 3:59 ` Al Viro
2007-09-27 6:42 ` David Newall
2007-09-27 6:53 ` Adrian Bunk
2007-09-27 7:28 ` Christer Weinigel
2007-09-27 11:23 ` Theodore Tso
2007-09-27 14:36 ` Bill Davidsen
2007-09-28 1:06 ` David Newall
[not found] <952DN-83o-31@gated-at.bofh.it>
[not found] ` <954cl-29C-3@gated-at.bofh.it>
[not found] ` <95ctn-74b-15@gated-at.bofh.it>
[not found] ` <95cMH-7um-19@gated-at.bofh.it>
[not found] ` <95gdA-4OZ-7@gated-at.bofh.it>
2007-09-20 11:13 ` Bodo Eggert
2007-09-20 11:59 ` Philipp Marek
2007-09-20 12:52 ` majkls
2007-09-20 16:06 ` David Newall
2007-09-20 16:17 ` Philipp Marek
2007-09-20 18:02 ` David Newall
2007-09-20 20:53 ` Bill Davidsen
2007-09-21 8:29 ` David Newall
2007-09-24 21:32 ` Serge E. Hallyn
2007-09-24 22:04 ` David Newall
2007-09-24 23:00 ` Serge E. Hallyn
2007-09-25 7:45 ` David Newall
2007-09-25 11:49 ` Serge E. Hallyn
2007-09-25 13:58 ` David Newall
2007-09-24 23:02 ` Serge E. Hallyn
[not found] ` <95UE2-1oR-19@gated-at.bofh.it>
[not found] ` <95V72-2ly-17@gated-at.bofh.it>
[not found] ` <97pG8-3B5-47@gated-at.bofh.it>
[not found] ` <97sX2-p1-3@gated-at.bofh.it>
2007-09-26 9:38 ` Nick Craig-Wood
[not found] <fa.1U6+49SWHSlhuK5/3PBckFWAbXU@ifi.uio.no>
[not found] ` <fa.WASh5K8oOF4DAq3sSYtIlWNCdWQ@ifi.uio.no>
[not found] ` <fa.X6MeYG+PmN8/e5zfGij80quLaws@ifi.uio.no>
[not found] ` <fa./eIdqiAY0Mx9xHl6ESobHaLKJBM@ifi.uio.no>
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=20070926212408.6662231a@zoo.weinigel.se \
--to=christer@weinigel.se \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bunk@fs.tum.de \
--cc=david@davidnewall.com \
--cc=davidsen@tmr.com \
--cc=linux-kernel@vger.kernel.org \
--cc=majkls@prepere.com \
--cc=psusi@cfl.rr.com \
--cc=viro@ftp.linux.org.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®