漏洞信息详情
PHP 5 posix_access()函数服务控制绕过漏洞
- CNNVD编号:CNNVD-200806-287
- 危害等级: 中危
- CVE编号:
CVE-2008-2665
- 漏洞类型:
路径遍历
- 发布时间:
2008-06-19
- 威胁类型:
远程
- 更新时间:
2009-05-16
- 厂 商:
php - 漏洞来源:
Maksymilian Arciem… -
漏洞简介
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
PHP 5的posix_access()函数在处理用户数据时存在漏洞,远程攻击者可能利用此漏洞绕过检查过滤。
在PHP的posix_access()函数中:
– —
PHP_FUNCTION(posix_access)
{
long mode = 0;
int filename_len, ret;
char *filename, *path;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, \”s|l\”, &filename, &filename_len, &mode) == FAILURE) {RETURN_FALSE;
}
path = expand_filepath(filename, NULL TSRMLS_CC);
if (!path) {
POSIX_G(last_error) = EIO;
RETURN_FALSE;
}
if (php_check_open_basedir_ex(path, 0 TSRMLS_CC) ||
(PG(safe_mode) (!php_checkuid_ex(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR, CHECKUID_NO_ERRORS)))) {efree(path);
POSIX_G(last_error) = EPERM;
RETURN_FALSE;
}
ret = access(path, mode);
efree(path);
if (ret) {
POSIX_G(last_error) = errno;
RETURN_FALSE;
}
RETURN_TRUE;
}
– —
var_dump(posix_access(\”http://../../../etc/passwd\”))==True
var_dump(posix_access(\”/etc/passwd\”))==False
path = expand_filepath(filename, NULL TSRMLS_CC);会将http://../../../etc/passwd 更改为path=/etc/passwd,(PG(safe_mode) && (!php_checkuid_ex(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR, CHECKUID_NO_ERRORS)))会检查真实的路径http://../../../etc/passwd,php_checkuid_ex() 中使用了http:// ,因此就绕过了safe_mode限制。
。
参考网址
来源: US-CERT
名称: TA09-133A
链接:http://www.us-cert.gov/cas/techalerts/TA09-133A.html
来源: XF
名称: php-posixaccess-security-bypass(43196)
链接:http://xforce.iss.net/xforce/xfdb/43196
来源: VUPEN
名称: ADV-2009-1297
链接:http://www.vupen.com/english/advisories/2009/1297
来源: SECTRACK
名称: 1020327
链接:http://www.securitytracker.com/id?1020327
来源: BID
名称: 29797
链接:http://www.securityfocus.com/bid/29797
来源: 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
名称: 3941
链接:http://securityreason.com/securityalert/3941
来源: SREASONRES
名称: 20080617 PHP 5.2.6 posix_access() (posix ext) safe_mode bypass
链接:http://securityreason.com/achievement_securityalert/54
来源: 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