[11516] in bugtraq

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

Re: Insecure use of file in /tmp by trn

daemon@ATHENA.MIT.EDU (Martin Schulze)
Wed Aug 25 21:23:09 1999

Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Message-Id:  <19990823103521.G29569@finlandia.infodrom.north.de>
Date:         Mon, 23 Aug 1999 10:35:21 +0200
Reply-To: Martin Schulze <joey@infodrom.north.de>
From: Martin Schulze <joey@FINLANDIA.INFODROM.NORTH.DE>
X-To:         Rogier Wolff <R.E.Wolff@BitWizard.nl>
To: BUGTRAQ@SECURITYFOCUS.COM
In-Reply-To:  <199908230649.IAA00424@cave.BitWizard.nl>; from Rogier Wolff on
              Mon, Aug 23, 1999 at 08:49:24AM +0200

Rogier Wolff wrote:
> > > > This was not intentional by the author, he tried to use tempfile(1) to
> > > > create the temporary filename.  However, due to a thinko, the name was
> > > > hardcoded into the script.
> > > [...]
> > > > +#NNTPactive=\`tempfile -p active\`   #"/tmp/active.\$\$"
> > >
> > > So now you're using tempfile? This usually yields an easily
> >
> > No, but now we're using tempfile in a proper way.  In the original source
> > code it was used like:
> >
> > 	NNTPactive=`tempfile -p active`
>
> This is what I meant. You've made it just a teeny bit harder to exploit,
> but the same expoit is still there.
>
> 10 years ago, this solution would've been adequate. Nowadays everbody
> should know that this is very hard to get right. Mover the "bad guys"
> already have the exploit programs ready.
>
> Creating a tempfile from a C program is possible since we have a
> mkstmp call. It is sufficiently tricky that I wouldn't dare

I'm sorry, but I don't understand.  tempfile is a C program that creates
a tempfile.

DESCRIPTION
       tempfile  creates  a  temporary file in a safe manner.  It
       uses tempnam(3) to choose  the  name  and  opens  it  with
       O_RDWR  |  O_CREAT  |  O_EXCL.  The filename is printed on
       standard output.

> replicating the functionality myself. Creating a private directory in
> /tmp and putting the tempfiles in there might be the only solution for
> shell scripts.

In which case you only make things more difficult to exploit, since such
a directory would be guessable as well as a tempfilename would, same for
the file inside of it.

Regards,

	Joey

--
Whenever you meet yourself you're in a time loop or in front of a mirror.

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