首页 -> 安全研究

安全研究

安全漏洞
FreeBSD kqueue机制本地拒绝服务漏洞

发布日期:2002-08-07
更新日期:2002-08-08

受影响系统:
FreeBSD FreeBSD kernel
    - FreeBSD 4.6
    - FreeBSD 4.5
    - FreeBSD 4.4
    - FreeBSD 4.3
    - FreeBSD 4.2
    - FreeBSD 4.1
    - FreeBSD 4.0
描述:
BUGTRAQ  ID: 5405
CVE(CAN) ID: CVE-2002-0831

FreeBSD 提供了一个kqueue机制使进程可以对感兴趣的与特定文件描述符有关的特定事件进行注册,并在与所选描述符有关的这些事件发生时接收异步通知。

FreeBSD 4.6以及以前的系统中kqueue实现中存在一个安全漏洞,可能允许本地攻击者使系统崩溃。

如果pipe(2)系统调用创建了一个管道,且该管道一端被封闭,那么在管道另一端注册EVFILT_WRITE过滤器就会导致kernel崩溃。常出现这一问题的情况是进程使用一个管道与子进程进行通信时使用kqueue监视该管道,而子进程在fork(2)调用后不久就已经死掉,而这时父进程还没来得及注册该过滤器。任意一个本地用户都可以运行恶意程序使系统崩溃。


<*来源:Mark Delany (markd@bushwire.net
  
  链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:37.kqueue.asc
*>

建议:
临时解决方法:

本漏洞没有合适的临时解决方案,只能限制不可信用户登陆您的系统。

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-02:37)以及相应补丁:
FreeBSD-SA-02:37:local users can panic the system using the kqueue mechanism
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:37.kqueue.asc

补丁下载:

经检验,下列补丁适用于FreeBSD 4.4、4.5和4.6系统。

a) 从下列地址下载相应的补丁并用你的PGP工具核实分开的PGP签名。

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:37/kqueue.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:37/kqueue.patch.asc

b) 安装补丁。

# cd /usr/src
# patch < /path/to/patch

c) 按照下列描述重新编写kernel并重启系统:
URL:http://www.freebsd.org/handbook/kernelconfig.html

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