lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091230035008.GA6819@us.ibm.com>
Date:	Tue, 29 Dec 2009 21:50:08 -0600
From:	"Serge E. Hallyn" <serue@...ibm.com>
To:	"Eric W. Biederman" <ebiederm@...ssion.com>
Cc:	Alan Cox <alan@...rguk.ukuu.org.uk>,
	Benny Amorsen <benny+usenet@...rsen.dk>,
	Bryan Donlan <bdonlan@...il.com>,
	Michael Stone <michael@...top.org>,
	linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
	linux-security-module@...r.kernel.org,
	Andi Kleen <andi@...stfloor.org>, David Lang <david@...g.hm>,
	Oliver Hartkopp <socketcan@...tkopp.net>,
	Herbert Xu <herbert@...dor.apana.org.au>,
	Valdis Kletnieks <Valdis.Kletnieks@...edu>,
	Evgeniy Polyakov <zbr@...emap.net>,
	"C. Scott Ananian" <cscott@...ott.net>,
	James Morris <jmorris@...ei.org>,
	Bernie Innocenti <bernie@...ewiz.org>,
	Mark Seaborn <mrs@...hic-beasts.com>,
	Randy Dunlap <randy.dunlap@...cle.com>,
	Américo Wang <xiyou.wangcong@...il.com>,
	Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
	Samir Bellabes <sam@...ack.fr>,
	Casey Schaufler <casey@...aufler-ca.com>,
	Pavel Machek <pavel@....cz>, Al Viro <viro@...iv.linux.org.uk>
Subject: Re: RFC: disablenetwork facility. (v4)

Quoting Eric W. Biederman (ebiederm@...ssion.com):
> "Serge E. Hallyn" <serue@...ibm.com> writes:
> 
> > Quoting Eric W. Biederman (ebiederm@...ssion.com):
> >> Alan Cox <alan@...rguk.ukuu.org.uk> writes:
> >> 
> >> >> > Execute != read. The executable file may contain secrets which must not
> >> >> > be available to the user running the setuid program. If you fail the
> >> >> > setuid, the user will be able to ptrace() and then the secret is
> >> >> > revealed.
> >> >> >
> >> >> > It's amazing how many security holes appear from what seems like a very
> >> >> > simple request.
> >> >> 
> >> >> Do we have a security hole in nosuid mount option?
> >> >> Can someone write a patch to fix it?
> >> >
> >> > If a setuid app can read a key when its erroneously not set setuid then
> >> > the user can read it too.
> >> >
> >> > Anything you can do with ptrace you can do yourself !
> >> 
> >> Now that I think about it this is really something completely separate
> >> from setuid.  This is about being able to read the text segment with
> >> ptrace when you on have execute permissions on the file.
> >> 
> >> I just skimmed through fs/exec.c and we set the undumpable process
> >> flag in that case so ptrace should not work in that case.
> >
> > And in fact you can't do a new ptrace_attach, but if you're already
> > tracing the task when it execs the unreadable-but-executable file,
> > then the ptrace can continue.
> >
> > Just looking at the code, it appears 2.2 was the same way (though I
> > could be missing where it used to enforce that).
> >
> > So, is that intended?  What exactly would we do about it if not?
> > Just refuse exec of a unreadable-but-executable file if we're
> > being traced?
> 
> In common cap we drop the new capabilities if we are being ptraced.
> Look for brm->unsafe.

Yes - that isn't the issue.  The issue is with a file to which
we have execute permission but not read.  If user hallyn has two
terminals open, and terminal one does ./foo then terminal two
cannot do strace -f -p `pidof foo`.  But user hallyn can do
strace -f -p ./foo and succeed.

So we refuse ptrace_attach to an existing process with dumpable
turned off, but a pre-existing ptrace attach isn't affected by
executing a file which causes dumpable to be unset.

It goes back to finding a way to figure out what is inside the
file when the installer obviously thought we shouldn't be able
to read the file.

Do we care?  <shrug>

-serge
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ