NetBSD 1.4.2 ftproot安全漏洞
发布日期:2000-05-31
更新日期:2000-05-31
受影响系统:- NetBSD-1.4.2
- 从19990930到19991212之间的NetBSD-current
不受影响系统:
- NetBSD-1.4.1 以及更低版本
- 19991212以后的或者19990930以前的NetBSD-current
描述:
chroot(2)系统调用用来限制一个进程使其只能访问文件系统的一部分。/etc/ftpchroot
文件指定某些用户可以通过口令访问ftp服务器,但这些用户被chroot到他们的Home目录,
而不能通过FTP访问home目录以外的文件,NetBSD 1.4.2中对ftpd的一个补丁本来是想让
对/etc/ftpusers文件的处理更安全稳固,但是它错误的解释了/etc/ftpchroot,导致chroot
调用并没有发生,这样在/etc/ftpchroot列表中的用户也能够访问home目录以外的文件。
<* 来源:Paul J. Lavoie <pjl@ilx.com>
Luke Mewburn <lukem@netbsd.org>
NetBSD Security Advisory 2000-006
*>
建议:
如果你使用的NetBSD-current是有问题的版本,建议升级到新版本
如果你正在使用NetBSD-1.4.2,可以将下列补丁程序打在src/libexec/ftpd/ftpd.c上,
重新编译ftpd,关闭当前运行的FTP server,重新运行新的FTP server.
补丁地址:
ftp://ftp.NetBSD.ORG/pub/NetBSD/misc/security/patches/20000527-ftpd
你也可以直接使用下面的补丁代码:
*** ftpd.c 1999/10/01 12:08:06 1.61.2.1
- --- ftpd.c 2000/05/11 10:14:37 1.61.2.2
***************
*** 489,496 ****
if (glob == NULL || glob[0] == '#')
continue;
perm = strtok(NULL, " \t\n");
- - if (perm == NULL)
- - continue;
if (fnmatch(glob, name, 0) == 0) {
if (perm != NULL &&
((strcasecmp(perm, "allow") == 0) ||
- --- 489,494 ----
浏览次数:8313
严重程度:0(网友投票)