RedHat Linux dump 缓冲区溢出漏洞
受影响系统: 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 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |