AIX 多个本地安全漏洞
发布日期:2000-12-04
更新日期:2000-12-04
受影响系统:
IBM AIX 4.3.x
IBM AIX 4.2.x
描述:
IBM AIX系统中多个setuid/setgid程序存在本地溢出问题。可能导致攻击者获取
root权限或者进行拒绝服务攻击。
下面是受影响的程序列表:
setuid root 程序:
/usr/bin/setsenv *
[ x=$s ]
/usr/lib/lpd/digest *
[ $s x ]
/usr/sbin/portmir *
[ -t $s -d x ]
/usr/bin/enq
[ -M $s ]
/usr/bin/setclock
[ $s ]
/usr/lib/lpd/pio/etc/pioout
[ PIO{DEVNAME,PTRTYPE}=$s ]
setgid printq 程序:
/usr/lib/lpd/piobe *
[ PIOSTATUSFILE=x PIO{TITLE,VARDIR}=$s ]
/usr/lib/lpd/pio/etc/piomkapqd *
[ -p $s ]
/usr/bin/splp
[ $s ]
后面标*号的程序表明已经被证实确实可以被用来攻击的程序。
1. setsenv在处理用户输入数据时,没有检查长度,导致发生缓冲区溢出。攻击
者成功后可能获取root权限。
2. digest在处理命令行参数时没有检查用户输入数据,导致发生缓冲区溢出。
攻击者可以覆盖某个指针以及堆栈中的一个缓冲区,成功后可获取root权限。
3. AIX有一个全局可写的系统锁定目录,攻击者可能使用portmir并结合一些硬
链接攻击,杀死其他进程,例如cron程序。另外,portmir也存在一个缓冲区
溢出的漏洞
4. piobe和piomkapqd程序没有对某些环境变量进行长度检查,攻击者可能获取
printq组的权限。从而可以控制打印配置文件以及一些打印程序。
5. Enq没有进行检查。setclock和splp的溢出发生在main()函数中。暂时没有
发现可以被用来获取root权限的方法。pioout在对储存在PIODEVNAME变量的数
据进行拷贝的时候可能陷入死循环。
<*来源:Esa Etelavuori (
http://www.iki.fi/ee/)
Jouko Pynn鰊en (
jouko@solutions.fi)
*>
建议:
厂商补丁:
AIX 已经提供了相应的补丁程序,下载地址:
http://techsupport.services.ibm.com/rs6k/fixes.html
程序与补丁名的对照表如下:
程序名 补丁名
====== ========
setuid root V43 APARs V42 APARs
/usr/bin/setsenv * IY08812 IY10721
/usr/lib/lpd/digest * IY08143 IY08287
/usr/sbin/portmir * IY07832
/usr/bin/enq IY08143 IY08287
/usr/bin/setclock IY07831 IY07790
/usr/lib/lpd/pio/etc/pioout IY12638
setgid printq
/usr/lib/lpd/piobe * IY12638
/usr/lib/lpd/pio/etc/piomkapqd * IY12638
/usr/bin/splp IY12638
浏览次数:4436
严重程度:0(网友投票)