oss-sec mailing list archives
Re: vsftpd problem in deny_hosts
From: Chris Evans <scarybeasts () gmail com>
Date: Tue, 3 Feb 2015 07:29:15 -0800
On Tue, Feb 3, 2015 at 6:56 AM, Moritz Muehlenhoff <jmm () debian org> wrote:
On Tue, Feb 03, 2015 at 12:45:24PM +0300, Solar Designer wrote:On Tue, Feb 03, 2015 at 09:28:36AM +0100, Marcus Meissner wrote:IBM reported to us a problem in vsftpd deny_hosts problem. CVE-2015-1419 https://bugzilla.novell.com/show_bug.cgi?id=915522 Description; Set the option "deny_file" in /etc/vsftpd.conf on a top-directory(for example "deny_file=/home/*")Then log in with ftp and try to cd to "/home/" first, which willfail, then try to cd to "/./home/" which will succeed!The latter case shouldn't be possible as well!What does upstream say about this? (CC'ing.)At least the man page states the deny_file is not a full-blown security measure: | This option is very simple, and should not be used for serious | access control - the filesystem's permissions should be used in preference.
Yeah, this option is very half-assed. I should probably have known better than to implement it. Other quotes from the man page: --- In particular aware that if a filename is accessible by a variety of names (perhaps due to symbolic links or hard links), then care must be taken to deny access to all the names. --- Because of this, you will need to carefully and exhaustively test any application of this option. And you are recommended to use filesystem permissions for any important security policies due to their greater reliability. --- The "variety of names" clause above is for situations like /home vs. /./home/ vs. /../home vs. /.././../home etc. This option is just a regex-like match against the raw FTP argument. So, I'm not sure it's possible to use deny_file=/home/*. Even if that were tweaked to deny_file=*/home/*, it would only work if the initial directory were set _outside_ /home -- if it wasn't, RETR some/relative/path would work because /home/ does not appear in the string. Perhaps the wording in the man page is not strong enough, or not detailed enough about implications, or I should just remove it? Suggestions welcome. Cheers Chris
Cheers, Moritz
Current thread:
- vsftpd problem in deny_hosts Marcus Meissner (Feb 03)
- Re: vsftpd problem in deny_hosts Solar Designer (Feb 03)
- Re: vsftpd problem in deny_hosts Marcus Meissner (Feb 03)
- Re: vsftpd problem in deny_hosts Moritz Muehlenhoff (Feb 03)
- Re: vsftpd problem in deny_hosts Chris Evans (Feb 03)
- Re: vsftpd problem in deny_hosts Joshua J. Drake (Feb 03)
- Re: vsftpd problem in deny_hosts Solar Designer (Feb 03)