安全研究

安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障