PHP msg_receive()函数整数溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1191147 漏洞类型 边界条件错误
发布时间 2007-03-31 更新时间 2007-04-10
CVE编号 CVE-2007-1889 CNNVD-ID CNNVD-200704-092
漏洞平台 N/A CVSS评分 7.5
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200704-092
|漏洞详情
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=(structphp_msgbuf*)emalloc(sizeof(structphp_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
链接:http://secunia.com/advisories/25056