安全研究

安全漏洞
FreeBSD-SA-00:58 chpass族程序格式串漏洞

发布日期:2000-10-31
更新日期:2000-10-31

受影响系统:
chfn/chpass/chsh/ypchfn/ypchpass/ypchsh/passwd

  - FreeBSD 3.x 所有版本
  - FreeBSD 4.0-RELEASE
  - FreeBSD 4.0-STABLE(2000/07/20以前版本)

不受影响系统:

2000/07/20 (FreeBSD 4.0-STABLE)
2000/10/04 (FreeBSD 3.5.1-STABLE)
FreeBSD 4.1.x

描述:
ch{fn,pass,sh} 是一组用来改变用户"finger"信息,口令以及登陆shell的工具.
ypch{fn,pass,sh}是一组用来对一个NIS帐号完成上述功能的程序。

这些程序被发现存在格式串漏洞,利用这些漏洞可能导致未授权的本地用户获取
本地root权限。


<* 来源: caddis (caddis@DISSENSION.NET)
          FreeBSD Security Advisory:FreeBSD-SA-00:58 chpass*>



建议:
临时解决方法:

NSFOCUS建议您在没有升级程序之前按照FreeBSD安全公告中的方法去做:

去除这些程序的suid属性

# chflags noschg /usr/bin/chfn /usr/bin/chpass /usr/bin/chsh
# chmod u-s /usr/bin/chfn /usr/bin/chpass /usr/bin/chsh
# chflags noschg /usr/bin/ypchfn /usr/bin/ypchpass /usr/bin/ypchsh
# chmod u-s /usr/bin/ypchfn /usr/bin/ypchpass /usr/bin/ypchsh
# chflags noschg /usr/bin/passwd
# chmod u-s /usr/bin/passwd


解决方法:

您可以采用下列方法中的任意一种:

1) 将您的有问题的FreeBSD系统升级到4.1-RELEASE,4.1.1-RELEASE,
   4.1.1-STABLE 或者正确日期后的3.5.1-STABLE版本

2) 使用下面的补丁程序并且重建fingerd二进制程序

您可以保存这则公告到一个文件,或者从下列地址下载补丁以及PGP签名文件,并使用
您的PGP工具来验证签名。

ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:58/vipw.patch
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:58/vipw.patch.asc

然后这样操作:

# cd /usr/src/usr.sbin/vipw
# patch -p < /path/to/patch_or_advisory
# make depend && make all install
# cd /usr/src/usr.bin/chpass/
# make depend && make all install
# cd /usr/src/usr.bin/passwd/
# make depend && make all install


补丁程序如下:

    --- pw_util.c   1999/08/28 01:20:31     1.17
    +++ pw_util.c   2000/07/12 00:49:40     1.18
    @@ -250,7 +250,7 @@
            extern int _use_yp;
     #endif /* YP */
            if (err)
    -               warn(name);
    +               warn("%s", name);
     #ifdef YP
            if (_use_yp)
                    warnx("NIS information unchanged");
}



浏览次数:5801
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障