CVE-2007-1889 (CNNVD-200704-092)
中文标题:
PHP msg_receive()函数整数溢出漏洞
英文标题:
Integer signedness error in the _zend_mm_alloc_int function in the Zend Memory Manager in PHP 5.2.0 ...
漏洞描述
中文描述:
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的话,就可能导致缓冲区溢出。
英文描述:
Integer signedness error in the _zend_mm_alloc_int function in the Zend Memory Manager in PHP 5.2.0 allows remote attackers to execute arbitrary code via a large emalloc request, related to an incorrect signed long cast, as demonstrated via the HTTP SOAP client in PHP, and via a call to msg_receive with the largest positive integer value of maxsize.
CWE类型:
标签:
受影响产品
| 厂商 | 产品 | 版本 | 版本范围 | 平台 | CPE |
|---|---|---|---|---|---|
| php | php | 5.2.0 | - | - |
cpe:2.3:a:php:php:5.2.0:*:*:*:*:*:*:*
|
解决方案
中文解决方案:
英文解决方案:
临时解决方案:
参考链接
CVSS评分详情
AV:N/AC:L/Au:N/C:P/I:P/A:P
时间信息
利用信息
数据源详情
| 数据源 | 记录ID | 版本 | 提取时间 |
|---|---|---|---|
| CVE | cve_CVE-2007-1889 |
2025-11-11 15:17:51 | 2025-11-11 07:32:42 |
| NVD | nvd_CVE-2007-1889 |
2025-11-11 14:52:10 | 2025-11-11 07:41:28 |
| CNNVD | cnnvd_CNNVD-200704-092 |
2025-11-11 15:08:56 | 2025-11-11 07:49:16 |
版本与语言
安全公告
变更历史
查看详细变更
- vulnerability_type: 未提取 -> 授权问题
- cnnvd_id: 未提取 -> CNNVD-200704-092
- data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
查看详细变更
- severity: SeverityLevel.MEDIUM -> SeverityLevel.HIGH
- cvss_score: 未提取 -> 7.5
- cvss_vector: NOT_EXTRACTED -> AV:N/AC:L/Au:N/C:P/I:P/A:P
- cvss_version: NOT_EXTRACTED -> 2.0
- affected_products_count: 0 -> 1
- data_sources: ['cve'] -> ['cve', 'nvd']