首页 -> 安全研究

安全研究

安全漏洞
Sun Solaris Libthread库本地拒绝服务攻击漏洞

发布日期:2002-12-04
更新日期:2002-12-11

受影响系统:
Sun Solaris Libthread
    - Sun Solaris 8.0 x86
    - Sun Solaris 7.0 x86
    - Sun Solaris 7.0
    - Sun Solaris 2.6 x86
    - Sun Solaris 2.6
    - Sun Solaris 2.5.1 x86
    - Sun Solaris 2.5.1
描述:
BUGTRAQ  ID: 6318
CVE(CAN) ID: CVE-2002-1587

Solaris是一款由Sun microsystems公司开发和维护的商业性质UNIX操作系统。

当应用程序连接到libthread库时存在问题,本地攻击者可以利用这个漏洞使应用程序终止,产生拒绝服务。

应用程序连接到32-bit libthread (/usr/lib/libthread.so.1)或64-bit libthread (/usr/lib/sparcv9/libthread.so.1)库可能导致挂起,一旦出现这个情况,应用程序可被终止和重新启动。

症状如下:

应用程序停止工作,当"pstack"命令针对此应用程序运行时,部分线程会等待互斥,如在堆栈上部可看到 "lwp_mutex_lock()"和"_sched_lock()"函数:

-----------------  lwp# 2 / thread# 2  --------------------
fed1bf90 lwp_mutex_lock (fedd5560)
fedad0b0 _sched_lock_nosig (fedce000, 91234d8, 0, fedce000, 0, 0) + 1c
...

<*来源:Sun Security Alert
  
  链接:http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F46867
*>

建议:
临时解决方法:

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

* 在运行应用程序时设置如下环境变量:

    LD_BIND_NOW=1    

这会迫使进入'non-lazy'实时绑定,LD_BIND_NOW在进程初始化阶段,在传输控制给应用程序之前,会导致实时连接库重新布置数据引用和函数引用。

或者在Solaris 8中,使用可替换(alternate)libthread库,如果使用可替换libthread库,应用程序不需要重新连接或者在使用可变库之前重新编译。在启动任何多线程应用程序之前设置LD_LIBRARY_PATH。

64-bit应用程序使用ksh如下所示:

    $ export LD_LIBRARY_PATH_64=/usr/lib/lwp/sparcv9:$LD_LIBRARY_PATH_64
    
32-bit应用程序使用ksh如下所示:

    $ export LD_LIBRARY_PATH=/usr/lib/lwp:$LD_LIBRARY_PATH

厂商补丁:

Sun
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

solaris 9系统不受此漏洞影响。

补丁下载:

Sun Solaris 2.5.1 _x86:
Sun Solaris 2.5.1:
Sun Solaris 2.6 _x86:
Sun Solaris 2.6:
Sun Solaris 7.0 _x86:
Sun Solaris 7.0:
Sun Solaris 8.0 _x86:

Sun Patch 108828-32
http://sunsolve.sun.com/pub-cgi/findPatch.pl?patchId=108828&rev=32

Sun Solaris 8.0:

Sun Patch 108827-32
http://sunsolve.sun.com/pub-cgi/findPatch.pl?patchId=108827&rev=32

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