
Release 2.1 of the Universal NFS server fixes a couple of security
problems that existed in version 2.0 and probably earlier versions.

It does the following things:

	*	authenticate fh's on every request. Support for it was
		there, but didn't work. This resulted in a particularly
		nasty hole that allows anyone to mount your entire
		file system and view all files (wave your /etc/shadow
		bye bye :->). I have written a sample program that
		demonstrates this hole and will release it at a later
		date.

		Authentication code is not yet optimized. Especially
		for sites that have wildcard names in their /etc/exports,
		this may cause performance problems. I'll be working
		on a revamped authenitcation code that does this faster.

	*	Use setfsuid/setfsgid for setting owner/group on file
		access rather than seteuid. With the old seteuid method,
		any user on the system could kill the server.

		The setfsuid/setfsgid functions were not implemented
		in libc-4.6.27, so I added a small assembler file
		that implements them. libc-4.6.29 seems to have them,
		though.

	*	Implement root_squash and no_root_squash mount options.


Olaf Kirch <okir@monad.swb.de>
12 March 1995
