Messages in this thread | | | Date | Fri, 1 Jul 2005 13:34:08 +0200 | From | Frank van Maarseveen <> | Subject | Re: FUSE merging? |
| |
On Fri, Jul 01, 2005 at 12:45:22PM +0200, Miklos Szeredi wrote: > > > > > > Here's a description of a theoretical DoS scenario: > > > > > > http://marc.theaimsgroup.com/?l=linux-fsdevel&m=111522019516694&w=2 > > > > So the open() hangs indefinately. but what if blackhat tries to install > > a package from a no longer existing server on /net or via NFS? > > > > A user supplied pathname is not to be trusted by any setuid (or full > > root) program. > > If /net won't detect a dead server within a timeout, I think it can be > considered broken. > > > Another example: I'm not sure if there are still /dev/tty devices which > > may block indefinately upon open() but: > > > > - I have yet to see a setuid program which always uses O_NONBLOCK > > when opening user supplied pathnames. > > - one cannot stat() and then open() because that gives a race. > > Is "being already broken" an excuse for preventing future breakage, > when these are fixed?
All this breakage points into the same direction: A user supplied pathname is not to be trusted by any setuid (or full root) program.
-- Frank - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |