Subject: Re: Per-user temp storage
To: Perry E. Metzger <perry@piermont.com>
From: David Brownlee <david@mono.org>
List: tech-security
Date: 02/24/1997 20:25:09
On Mon, 24 Feb 1997, Perry E. Metzger wrote:

> > 	It would help if at least source in the tree used mkstemp() rather
> > 	than mktemp(), tmpnam(), tempnam(). 
> > 
> > 	Maybe add a warning for the above functions in a similar fashion
> > 	to 'gets()' - I believe OpenBSD did something like that a while
> > 	back.
> 
> This is certainly useful, but it doesn't solve the "play with symlinks
> and deep directories during nightly find" problem.
> 
	Very much agreed - its a solution to some of the problems, and
	it encourages good practice. Code should not be using mktemp() &
	friends because even if NetBSD does 'wierd' things with /tmp, if
	someone	compiles up that code on another system they're wide open.

	The earlier suggested changes to /tmp semantics also provide no
	protection against the symlink attack on a nightly find, but
	presumably that could be countered by changing find to maintain
	a 'stack' of the inode numbers of each directory it chdir()s
	into & stat()ing on the way back down, plus the usual combination
	of lstat() & fstat() on the way up. There is a performance
	penalty, but to paraphrase an old saying
		"fast, secure, cheap - choose two"

		David/abs	david@{mono.org,southern.com,mhm-internet.com}

     Microsoft: Asks you where you want to go. NetBSD gets you there.
System Manager: Southern Studios Ltd, PO Box 59, London N22 1AR.
  System Admin: MHM Internet, 14 Barley Mow Passage, Chiswick, London W4 4PH.
         SysOP: Monochrome, Largest UK Internet BBS - 'telnet mono.org'.