首页 -> 安全研究

安全研究

安全漏洞
RedHat Linux dump 缓冲区溢出漏洞

发布日期:2000-03-01
更新日期:2000-03-02

受影响系统:
MandrakeSoft Linux Mandrake 7.0
MandrakeSoft Linux Mandrake 6.1
RedHat Linux 6.2
RedHat Linux 6.1
RedHat Linux 6.0
RedHat Linux 5.2
RedHat Linux 5.1
不受影响系统:
NetBSD-current
描述:

RedHat Linux中有一个文件备份工具"dump".它被安装在 /sbin下并且被设置了
setuid/setgid root位。当传送一个很长的字符串给"-f a"参数时,dump将发生
堆栈溢出。如果提供的参数经过精心构造,攻击者就可能替代堆栈中保存的EIP
(指令指针或者返回地址)并以gid root权限来执行任意代码。Dump在crash时会
丢弃setuid root权限,但是没有丢弃setgid root权限。因此攻击者可能利用这
个漏洞获得setgid root权限,进而可能获取对整个系统的控制权。

<* 来源:  - Yong-jun, Kim -
          e - mail : loveyou@hackerslab.org s96192@ce.hannam.ac.kr
          homepage : http://www.hackerslab.org http://ce.hannam.ac.kr/~s96192
*>




测试方法:

警 告

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

[loveyou@loveyou SOURCES]$ dump -f a `perl -e 'print "x" x 556'`
  DUMP: Date of this level 0 dump: Mon Feb 28 14:45:01 2000
  DUMP: Date of last level dump: the epoch
  DUMP: Dumping xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx to a
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: 颇老 捞抚捞 呈公 遍聪促 while opening filesystem
  DUMP: SIGSEGV: ABORTING!
Segmentation fault


[loveyou@loveyou SOURCES]$ dump -f a `perl -e 'print "loveyou" x 556'`
  DUMP: SIGSEGV: ABORTING!
Segmentation fault <= occur ctime4()




建议:
Yong-jun, Kim提供了一个patch:

[root@loveyou SOURCES]# diff -ru dump-0.4b13/dump/main_orig.c dump-0.4b13/dump/main.c
--- dump-0.4b13/dump/main_orig.c Mon Feb 28 14:40:01 2000
+++ dump-0.4b13/dump/main.c Mon Feb 28 14:40:57 2000
@@ -273,6 +273,9 @@
                exit(X_STARTUP);
        }
        disk = *argv++;
+ if ( strlen(disk) > 255 )
+ exit(X_STARTUP);
+
        argc--;
        if (argc >= 1) {
                (void)fprintf(stderr, "Unknown arguments to dump:");

临时解决办法:

  去掉dump的suid位:  chmod a-s /sbin/dump



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