首页 -> 安全研究

安全研究

安全漏洞
NetBSD IPv4多播工具缓冲区溢出漏洞

发布日期:2002-09-17
更新日期:2002-09-23

受影响系统:
NetBSD NetBSD 1.6 beta
NetBSD NetBSD 1.5.3
NetBSD NetBSD 1.5.2
NetBSD NetBSD 1.5.1
NetBSD NetBSD 1.5 x86
NetBSD NetBSD 1.5 sh3
NetBSD NetBSD 1.5
NetBSD NetBSD 1.4.3
NetBSD NetBSD 1.4.2 x86
NetBSD NetBSD 1.4.2 SPARC
NetBSD NetBSD 1.4.2 arm32
NetBSD NetBSD 1.4.2 Alpha
NetBSD NetBSD 1.4.2
NetBSD NetBSD 1.4.1 x86
NetBSD NetBSD 1.4.1 SPARC
NetBSD NetBSD 1.4.1 sh3
NetBSD NetBSD 1.4.1 arm32
NetBSD NetBSD 1.4.1 Alpha
NetBSD NetBSD 1.4.1
NetBSD NetBSD 1.4 x86
NetBSD NetBSD 1.4 SPARC
NetBSD NetBSD 1.4 arm32
NetBSD NetBSD 1.4 Alpha
NetBSD NetBSD 1.4
不受影响系统:
NetBSD NetBSD 1.6
描述:
BUGTRAQ  ID: 5727
CVE(CAN) ID: CVE-2002-1500

NetBSD是一款开放源代码的操作系统。

NetBSD多个IPv4多播程序在执行FD_SET()函数时缺少正确边界检查,攻击者可以利用这个漏洞进行缓冲区溢出攻击,可能以root用户权限在系统上执行任意指令。

IPv4多播相关工具如mrinfo(1)和mtrace(1), 以及PPPD都是以suid root权限安装,这些工具使用了select(2),select(2)使用fd_set描述字符集,这个描述字符集支持FD_SETSIZE (256)个文件描述符,这些工具当执行FD_SET()操作的时候没有很好的对缓冲区边界进行检查,如果select(2)使用的文件描述符超过FD_SETSIZE定义的大小,就可以导致产生缓冲区溢出,利用这些程序可能以root用户权限在系统上执行任意指令。

<*链接:ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2002-014.txt.asc
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 如果你不打算和计划使用多播相关的工具或者pppd,可使用暂时去除相关SETUID位进行修补:

# chmod u-s /usr/sbin/mrinfo /usr/sbin/mtrace /usr/sbin/pppd

厂商补丁:

NetBSD
------
NetBSD已经为此发布了一个安全公告(NetBSD-SA2002-014)以及相应补丁:
NetBSD-SA2002-014:fd_set overrun in mbone tools and pppd
链接:ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2002-014.txt.asc

最新的NetBSD 1.6 release不存在此漏洞,建议用户升级到NetBSD 1.6版本。

否则你可以通过升级你的源代码树,重建和安装新的版本来更新二进制程序:

* NetBSD-current:

    系统运行在2002-08-10之前的NetBSD-current版本必须升级到2002-08-10 NetBSD-current版本或者之后的版本。
    
    下面的目录必须从netbsd-current CVS branch (aka HEAD)升级:
        usr.sbin/mrinfo
        usr.sbin/mtrace
        usr.sbin/pppd
        
    要升级CVS,重建和重安装mrinfo和mtrace:
  
        # cd src
                # cvs update -dP usr.sbin/mrinfo usr.sbin/mtrace usr.sbin/pppd


                # cd usr.sbin/mrinfo
                # make cleandir dependall
                # make install


                # cd usr.sbin/mtrace
                # make cleandir dependall
                # make install


                # cd usr.sbin/pppd
                # make cleandir dependall
                # make install



* NetBSD 1.6 beta:
    
    系统运行NetBSD 1.6 BETAs和Release Candidates版本必须升级到NetBSD 1.6 release版本。
    

    下面的目录必须从netbsd-1-6 CVS branch上升级:
        usr.sbin/mrinfo
        usr.sbin/mtrace
        usr.sbin/pppd
    要升级CVS,重建和重安装mrinfo和mtrace:
  
            # cd src
                # cvs update -d -P -r netbsd-1-6 \
                        usr.sbin/mrinfo usr.sbin/mtrace usr.sbin/pppd


                # cd usr.sbin/mrinfo
                # make cleandir dependall
                # make install


                # cd usr.sbin/mtrace
                # make cleandir dependall
                # make install


                # cd usr.sbin/pppd
                # make cleandir dependall
                # make install


        
* NetBSD 1.5, 1.5.1, 1.5.2, 1.5.3:

    系统运行在2002-09-05之前的NNetBSD 1.5 branch版本必须升级到2002-09-05 NetBSD 1.5 branch版本或者之后的版本。
    
    下面的目录必须从netbsd-1-5 CVS branch升级:
        usr.sbin/mrinfo
        usr.sbin/mtrace
        usr.sbin/pppd
        
    要升级CVS,重建和重安装mrinfo和mtrace:
  
            # cd src
                # cvs update -d -P -r netbsd-1-5 \
                        usr.sbin/mrinfo usr.sbin/mtrace usr.sbin/pppd


                # cd usr.sbin/mrinfo
                # make cleandir dependall
                # make install


                # cd usr.sbin/mtrace
                # make cleandir dependall
                # make install


                # cd usr.sbin/pppd
                # make cleandir dependall
                # make install

* NetBSD 1.4.x:

        尚无

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