[9018] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Wiping out setuid programs

daemon@ATHENA.MIT.EDU (Alan Cox)
Sun Jan 10 13:41:16 1999

Date: 	Sat, 9 Jan 1999 23:46:02 +0000
Reply-To: Alan Cox <alan@LXORGUK.UKUU.ORG.UK>
From: Alan Cox <alan@LXORGUK.UKUU.ORG.UK>
X-To:         djb@CR.YP.TO
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  <19990109105854.3085.qmail@cr.yp.to> from "D. J. Bernstein" at
              Jan 9, 99 10:58:54 am

> Given widespread kernel support for getpeereuid(), it's easy to split a
> setuid program. All you have to do is identify the atomic operations
> that the program performs upon restricted files, and move the code for
> those operations to a separate daemon.

getpeeruid() is the wrong semantics though. If you look at the Linux
credential passing it is done per message. A blind implementation of
uid per socket pair makes it rather hard to handle datagram based
services, to pick up on uid changes the other end etc.

Alan

home help back first fref pref prev next nref lref last post