CVE-2007-1886 (CNNVD-200704-103)
中文标题:
PHP str_replace()函数整数溢出漏洞
英文标题:
Integer overflow in the str_replace function in PHP 4.4.5 and PHP 5.2.1 allows context-dependent att...
漏洞描述
中文描述:
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP的str_replace()函数实现上存在整数溢出漏洞,本地攻击者可能利用此漏洞提升自己的权限。 在调用PHP的str_replace()函数时代码会切换到两个不同的代码路径,具体取决于搜索字符串的长度。单字符搜索字符串是由不同函数来处理的,以提高效率,但这种方法的以下代码中存在整数溢出漏洞: Z_STRLEN_P(result) = len + (char_count * (to_len - 1)); Z_STRVAL_P(result) = target = emalloc(Z_STRLEN_P(result) + 1); Z_TYPE_P(result) = IS_STRING; 如果char_count和to_len都大于65537的话就会导致32位长度计数器的整数溢出,因此emalloc()不会分配足够的内存,在执行替换时会导致溢出所分配的缓冲区。如果要成功利用这个漏洞必须在攻击对象之前分配目标缓冲区,以便溢出攻击对象,这样拷贝在崩溃之前停止。
英文描述:
Integer overflow in the str_replace function in PHP 4.4.5 and PHP 5.2.1 allows context-dependent attackers to have an unknown impact via a single character search string in conjunction with a single character replacement string, which causes an "off by one overflow."
CWE类型:
标签:
受影响产品
| 厂商 | 产品 | 版本 | 版本范围 | 平台 | CPE |
|---|---|---|---|---|---|
| php | php | 4.4.5 | - | - |
cpe:2.3:a:php:php:4.4.5:*:*:*:*:*:*:*
|
| php | php | 5.2.1 | - | - |
cpe:2.3:a:php:php:5.2.1:*:*:*:*:*:*:*
|
解决方案
中文解决方案:
英文解决方案:
临时解决方案:
参考链接
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
cve.org
CVSS评分详情
AV:N/AC:M/Au:N/C:P/I:P/A:P
时间信息
利用信息
数据源详情
| 数据源 | 记录ID | 版本 | 提取时间 |
|---|---|---|---|
| CVE | cve_CVE-2007-1886 |
2025-11-11 15:17:51 | 2025-11-11 07:32:42 |
| NVD | nvd_CVE-2007-1886 |
2025-11-11 14:52:10 | 2025-11-11 07:41:28 |
| CNNVD | cnnvd_CNNVD-200704-103 |
2025-11-11 15:08:56 | 2025-11-11 07:49:16 |
版本与语言
安全公告
变更历史
查看详细变更
- vulnerability_type: 未提取 -> 授权问题
- cnnvd_id: 未提取 -> CNNVD-200704-103
- data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
查看详细变更
- cvss_score: 未提取 -> 6.8
- cvss_vector: NOT_EXTRACTED -> AV:N/AC:M/Au:N/C:P/I:P/A:P
- cvss_version: NOT_EXTRACTED -> 2.0
- affected_products_count: 0 -> 2
- references_count: 10 -> 8
- data_sources: ['cve'] -> ['cve', 'nvd']