PHP 7.0.x < 7.0.11 多个漏洞

critical Web App Scanning 插件 ID 98835

简介

PHP 7.0.x < 7.0.11 多个漏洞

描述

据横幅广告可知,远程 Web 服务器上运行的 PHP 版本为低于 7.0.11 的 7.0.x。因此,该服务器受到多个漏洞的影响:

- 文件 ext/mysqlnd/mysqlnd_wireprotocol.c 的 php_mysqlnd_rowp_read_text_protocol_aux() 函数中存在堆缓冲区溢出情况,这是未能验证位域是否具有 UNSIGNED_FLAG 标志所致。未经身份验证的远程攻击者可利用此情况,通过特别构建的域元数据,造成拒绝服务情况。(CVE-2016-7412)

- 反序列化记录集元素时,文件 ext/wddx/wddx.c 的 wddx_stack_destroy() 函数中存在释放后使用错误。未经身份验证的远程攻击者可利用此错误,通过特别构建的 wddxPacket XML 文档,造成拒绝服务情况。(CVE-2016-7413)

- 文件 ext/phar/zip.c 的 phar_parse_zipfile() 函数中存在越界访问错误,这是未能确定 uncompressed_filesize 域是否足够大所致。未经身份验证的远程攻击者可利用此错误,通过特别构建的存档文件,造成拒绝服务情况。(CVE-2016-7414)

- ICU4C 库中,尤其是文件 common/locid.cpp 的 msgfmt_format_message() 函数中,存在基于堆栈的缓冲区溢出情况,这是未正确限制提供给 Locale 类别的区域设置长度所致。未经身份验证的远程攻击者可利用此情况,通过对 MessageFormatter: : formatMessage() 函数调用的长首位参数,造成拒绝服务情况。(CVE-2016-7416)

- 文件 ext/spl/spl_array.c 的 spl_array_get_dimension_ptr_ptr() 函数中存在缺陷,这是反序列化 SplArray 时未正确验证返回值和数据类型所致。未经身份验证的远程攻击者可利用此问题,通过特制的序列化数据造成拒绝服务情况。(CVE-2016-7417)

- 处理错误的布尔元素时,文件 ext/wddx/wddx.c 的 php_wddx_push_element() 函数中存在越界读取错误,导致错误处理 wddx_deserialize() 调用。未经身份验证的远程攻击者可利用此错误,通过特别构建的 wddxPacket XML 文档,造成拒绝服务情况。(CVE-2016-7418)

- 处理签名验证时,文件 ext/phar/tar.c 的 phar_parse_tarfile() 函数中存在越界访问错误。未经身份验证的远程攻击者可利用此问题造成不明影响。

请注意,据报告该软件也受到其他漏洞影响,其在 7.0.13 版本尚未修复。

解决方案

升级至 PHP 7.0.11 或更高版本。

另见

https://secure.php.net/ChangeLog-7.php#7.0.11

插件详情

严重性: Critical

ID: 98835

类型: remote

发布时间: 2019/1/9

最近更新时间: 2023/3/14

扫描模板: api, basic, full, pci, scan

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 分数来源: CVE-2016-7413

CVSS v3

风险因素: Critical

基本分数: 9.8

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS 分数来源: CVE-2016-7413

漏洞信息

CPE: cpe:2.3:a:php:php:*:*:*:*:*:*:*:*

可利用: true

易利用性: Exploits are available

补丁发布日期: 2016/9/17

漏洞发布日期: 2016/9/17

参考资料信息

CVE: CVE-2016-7412, CVE-2016-7413, CVE-2016-7414, CVE-2016-7416, CVE-2016-7417, CVE-2016-7418

BID: 93005, 93006, 93004, 93008, 93007, 93011