Date: Tue, 23 Apr 2002 09:25:14 -0600 (MDT) From: "M. Warner Losh" <imp@village.org> To: mike@FreeBSD.org Cc: phk@critter.freebsd.dk, wollman@lcs.mit.edu, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_descrip.c kern_exec.c src/sys/sys filedesc.h Message-ID: <20020423.092514.68569803.imp@village.org> In-Reply-To: <20020423104722.D72727@espresso.q9media.com> References: <20020422160742.B8421@espresso.q9media.com> <78396.1019545495@critter.freebsd.dk> <20020423104722.D72727@espresso.q9media.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020423104722.D72727@espresso.q9media.com>
Mike Barcroft <mike@FreeBSD.org> writes:
: Poul-Henning Kamp <phk@critter.freebsd.dk> writes:
: > In message <20020422160742.B8421@espresso.q9media.com>, Mike Barcroft writes:
: >
: > >I agree that the current solution to this problem is wrong. I think
: > >the most correct solution would be to fix each set[ug]id program to
: > >ensure that it has a working set of the basic std{in,out,err}
: > >descriptors by making a series of fstat() calls and watching for a
: > >EBADF.
: >
: > Right, and the best fix to the middle east situation is to make all
: > persons living down there like each other.
: >
: > Some times the best fix is just not viable...
:
: Doing the base system will be far easier than say changing all
: function declarations from K&R to ANSI C. The 6 line check could
: easily be added to a common libc function, and one line function call
: added to the main() of every set[ug]id program. I'm willing to do
: develop a patchset over the weekend.
Does this also go for all the ports in the ports tree? What about
legacy binaries?
: As far as ports go, every port that relies on the standard file
: descriptors being open and doesn't check for them, is vulnerable to
: this exploit on almost every UNIX-like system including most versions
: of FreeBSD. Security advisories should be released for those ports
: and fixes coordinated with the vendors.
Right. That's why we added this to the kernel.
There is about 0 chance of removing it from the kernel at this point.
I know people hate it, but *NONE* of the other solutions are secure.
Warner
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020423.092514.68569803.imp>
