Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 May 1996 17:44:29 -0600 (MDT)
From:      Dave Andersen <angio@aros.net>
To:        terry@lambert.org (Terry Lambert)
Cc:        jfieber@indiana.edu, rhh@ct.picker.com, p.richards@elsevier.co.uk, freebsd-questions@freebsd.org
Subject:   Re: Er... how long
Message-ID:  <199605292344.RAA12179@terra.aros.net>
In-Reply-To: <199605291809.LAA13861@phaeton.artisoft.com> from "Terry Lambert" at May 29, 96 11:09:53 am

next in thread | previous in thread | raw e-mail | index | archive | help
Lo and behold, Terry Lambert once said:

> What race condition do you believe exists such that this will
> happen?

  The same race condition which allows the setgid version of filter to be 
used to read anyone's email. :-)

   When filter handles your file, it creates a temp file in /tmp.  It 
then closes this file, and passes the filename to other functions for 
handling.  The other functions open up the file, do their stuff, close 
the file, and hand the filename off to still further functions.

    You get the drift.  There are several points during this when the 
file can be modified between filter functions.  My guess is that there's 
a decent chance that, on a slow system with a lot of email activity, 
you'll eventually run in to a conflict.  That's just a guess based on 
some hacking of the source.

    Incidentally, if anyone wants it, I rewrote filter to not pass 
filenames around but instead to use it's brain and pass file descriptors 
like a good little program should.  I did it primarily to fix the 
security hole -- the linux version runs setgid -- but it also has the 
advantage of not having the same race conditions, saves a couple file 
opens and closes, etc.

  -Dave Andersen

-- 
angio@aros.net                Complete virtual hosting and business-oriented
system administration         Internet services.  (WWW, FTP, email)
http://www.aros.net/          http://www.aros.net/about/virtual
  "There are only two industries that refer to thier customers as 'users'."




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605292344.RAA12179>