PHP chdir()/ftok()函数服务控制绕过漏洞

漏洞信息详情

PHP chdir()/ftok()函数服务控制绕过漏洞

漏洞简介

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。

PHP的chdir()和ftok()函数中存在多个绕过safe_mode限制漏洞。

在chdir()函数中:

– —

PHP_FUNCTION(chdir)

{

char *str;

int ret, str_len;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, \”s\”, &str,

&str_len) == FAILURE) {

RETURN_FALSE;

}

if ((PG(safe_mode) && !php_checkuid(str, NULL,

CHECKUID_CHECK_FILE_AND_DIR)) || php_check_open_basedir(str TSRMLS_CC))

{

RETURN_FALSE;

}

ret = VCWD_CHDIR(str);

if (ret != 0) {

php_error_docref(NULL TSRMLS_CC, E_WARNING, \”\\%s (errno \\%d)\”,

strerror(errno), errno);

RETURN_FALSE;

}

RETURN_TRUE;

}

– —

safe_mode检查了str,例如:

– —

Warning: chdir(): SAFE MODE Restriction in effect. The script whose uid

is 80 is not allowed to access / owned by uid 0 in /www/mb/mb.php on

line 8

– —

用户可以在当前目录中创建http:子目录,因此可以创建http://../../../../../../ 。

TRUE==((PG(safe_mode) && !php_checkuid(str, NULL,

CHECKUID_CHECK_FILE_AND_DIR)) || php_check_open_basedir(str

TSRMLS_CC)))

对于str=\”http://../../../../../../\” ,safe_mode会忽略所有带有http:// 的目录。

ftok()函数中也存在类似的漏洞。

漏洞公告

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:

http://www.php.net

参考网址

来源; US-CERT

名称: TA09-133A

链接:http://www.us-cert.gov/cas/techalerts/TA09-133A.html

来源: XF

名称: php-chdir-ftoc-security-bypass(43198)

链接:http://xforce.iss.net/xforce/xfdb/43198

来源: VUPEN

名称: ADV-2009-1297

链接:http://www.vupen.com/english/advisories/2009/1297

来源: SECTRACK

名称: 1020328

链接:http://www.securitytracker.com/id?1020328

来源: BID

名称: 29796

链接:http://www.securityfocus.com/bid/29796

来源: BUGTRAQ

名称: 20090302 rPSA-2009-0035-1 php php-cgi php-imap php-mcrypt php-mysql php-mysqli php-pgsql php-soap php-xsl php5 php5-cgi php5-imap php5-mcrypt php5-mysql php5-mysqli php5-pear php5-pgsql php5-soap php5-xsl

链接:http://www.securityfocus.com/archive/1/archive/1/501376/100/0/threaded

来源: wiki.rpath.com

链接:http://wiki.rpath.com/Advisories:rPSA-2009-0035

来源: support.apple.com

链接:http://support.apple.com/kb/HT3549

来源: SREASON

名称: 3942

链接:http://securityreason.com/securityalert/3942

来源: SREASONRES

名称: 20080617 PHP 5.2.6 chdir(),ftok() (standard ext) safe_mode bypass

链接:http://securityreason.com/achievement_securityalert/55

来源: SECUNIA

名称: 35650

链接:http://secunia.com/advisories/35650

来源: SECUNIA

名称: 35074

链接:http://secunia.com/advisories/35074

来源: HP

名称: SSRT090192

链接:http://marc.info/?l=bugtraq&m=125631037611762&w=2

来源: HP

名称: SSRT090192

链接:http://marc.info/?l=bugtraq&m=125631037611762&w=2

来源: HP

名称: SSRT090085

链接:http://marc.info/?l=bugtraq&m=124654546101607&w=2

来源: HP

名称: SSRT090085

链接:http://marc.info/?l=bugtraq&m=124654546101607&w=2

来源: APPLE

名称: APPLE-SA-2009-05-12

链接:http://lists.apple.com/archives/security-announce/2009/May/msg00002.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享