漏洞信息详情
PHP msg_receive()函数整数溢出漏洞
- CNNVD编号:CNNVD-200704-092
- 危害等级: 高危
- CVE编号:
CVE-2007-1889
- 漏洞类型:
边界条件错误
- 发布时间:
2007-03-31
- 威胁类型:
远程
- 更新时间:
2007-04-10
- 厂 商:
php - 漏洞来源:
Stefan Esser※ s.es… -
漏洞简介
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
PHP的msg_receive()函数实现上存在整数溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限。
PHP的msg_receive()函数没有对maxsize参数执行任何检查便直接在内存分配中使用,导致整数溢出。有漏洞的代码如下:
PHP_FUNCTION(msg_receive)
{
…
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, \”rlzlz|blz\”,
&queue, &desiredmsgtype, &out_msgtype, &maxsize,
&out_message, &do_unserialize, &flags, &zerrcode) == FAILURE) {
return;
}
…
messagebuffer = (struct php_msgbuf *) emalloc(sizeof(struct php_msgbuf) + maxsize);
result = msgrcv(mq->id, messagebuffer, maxsize, desiredmsgtype, realflags);
如果内部的msgrcv()函数能够接受负数的maxsize的话,就可能导致缓冲区溢出。
参考网址
来源: MISC
链接:http://www.php-security.org/MOPB/MOPB-43-2007.html
来源: MISC
链接:http://www.php-security.org/MOPB/MOPB-44-2007.html
来源: SUSE
名称: SUSE-SA:2007:032
链接:http://www.novell.com/linux/security/advisories/2007_32_php.html
来源: DEBIAN
名称: DSA-1283
链接:http://www.debian.org/security/2007/dsa-1283
来源: SECUNIA
名称: 25062
链接:http://secunia.com/advisories/25062
来源: SECUNIA
名称: 25056