PHP 7.0.x < 7.0.4 多个漏洞

critical Web App Scanning 插件 ID 98850

简介

PHP 7.0.x < 7.0.4 多个漏洞

描述

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

- 处理 Cookie 数据时,文件 ext/soap/php_http.c 的 make_http_soap_request() 函数中存在一个类型混淆错误。未经身份验证的远程攻击者可利用此漏洞执行任意代码。(CVE-2016-3185)

- 文件 ext/xml/xml.c 的 xml_utf8_encode 函数中存在多种整数溢出,造成此漏洞的原因是未正确验证用户提供的输入。未经身份验证的远程攻击者可利用此漏洞造成基于堆的缓冲区溢出,从而导致拒绝服务或执行任意代码。(CVE-2016-4344)

- php_filter_encode_url() 函数中存在整数溢出,造成此漏洞的原因是未正确验证用户提供的输入。远程攻击者可借此造成基于堆的缓冲区溢出,进而导致拒绝服务或执行任意代码。(CVE-2016-4345)

- xml_utf8_encode 函数中存在溢出,造成此漏洞的原因是未正确验证用户提供的输入。远程攻击者可利用此漏洞造成基于堆的缓冲区溢出,进而导致拒绝服务情况或执行任意代码。(CVE-2016-4346)

- 运行 function.forward-static-call.php 的同时处理第三个调用时,存在一个缺陷。未经身份验证的远程攻击者可利用此缺陷导致解释器崩溃,进而造成拒绝服务。

- 文件 ext/standard/string.c 的 php_implode() 函数中存在整数溢出,造成此漏洞的原因是未正确验证用户提供的输入。未经身份验证的远程攻击者可借此造成基于堆的缓冲区溢出,进而导致拒绝服务,或是执行任意代码。

- 文件 ext/standard/string.c 的 zend_string_alloc() 函数中存在整数溢出,造成此漏洞的原因是未正确验证用户提供的输入。未经身份验证的远程攻击者可利用此问题执行任意代码。

- 处理特定 Magento2 命令时存在一个堆栈损坏问题,可允许未经身份验证的远程攻击者造成拒绝服务。

- sapi/cli/php_cli_server.c 文件中存在一个缺陷,这是由于内置 HTTP 服务器未正确限制文件请求所致。未经身份验证的远程攻击者可利用此缺陷访问任意文件。

- 在更新已缓存到当前工作目录的已缓存目录名称时,Zend Opcache 存在一个释放后使用错误。未经身份验证的远程攻击者可利用此问题取消引用已释放内存,从而导致执行任意代码。

- Zip: ExtractTo() 方法的 ext/zip/php_zip.c 文件中存在空指针取消引用缺陷,: 未经身份验证的远程攻击者可利用此缺陷造成拒绝服务。

请注意,扫描程序并未测试这些问题,而是仅依据应用程序自我报告的版本号进行判断。

解决方案

升级至 PHP 7.0.4 或更高版本。

另见

http://php.net/ChangeLog-7.php#7.0.4

插件详情

严重性: Critical

ID: 98850

类型: 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-4344

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-4344

漏洞信息

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2016/5/16

漏洞发布日期: 2016/5/16

参考资料信息

CVE: CVE-2016-3185, CVE-2016-4344, CVE-2016-4345, CVE-2016-4346

BID: 84307, 84351