Bug #1587
closed[security] when mod_userdir is loaded but not configured, the server's whole disk becomes remotely readable
Description
I've just discovered that you could download my /etc/passwd file by simply pointing your browser to http://myserver/tld/~nobody/etc/passwd (thanks to Nessus).
After some research, I've found th culprit to be mod_userdir, which I had left there while I had removed all its configuration variables from my conf.
Loading this module with its default values should not compromise the server security.
IMHO, the default value for userdir.path should not be "." unless the webmaster sets so, but the standard "public_html".
-- julien.cayzac
Updated by Anonymous over 16 years ago
There a typo in the description:
http://myserver/tld/~nobody/etc/passwd
should be:
http://myserver.tld/~nobody/etc/passwd
-- julien.cayzac
Updated by stbuehler over 16 years ago
I think the main problem here is that mod_userdir is alway enabled; you can disable it with
userdir.include-user = ( "" )
mod_userdir will still redirect "/~something" to "/~something/" (empty user is not allowed by mod_userdir in any case, so /~/ is not affected by the include-user "").
The next problem are users with "/" as homedir - i don't know why, but on a debian system there is no user with "/" as homedir; nobody has "/nonexistent".
Of course, your idea would fix most things, but i just search for a "cleaner" solution ;-)
Updated by stbuehler over 16 years ago
- Status changed from New to Fixed
- Resolution set to fixed
Fixed in r2120.
We require now userdir.path to be set to enable mod_userdir; you can have the old behaviour with
userdir.path = ""
Updated by Anonymous over 16 years ago
you should also edit userdir.txt to reflect that change, it still mentions "." as the default value for path.
-- rbu
Updated by stbuehler over 16 years ago
Yes, sry forgot that; so the doc is missing in 1.4.19, but now in svn r2130.
Also available in: Atom