PHP 7.0.x < 7.0.12 多个漏洞

critical Nessus 插件 ID 94107

简介

远程 Web 服务器上运行的 PHP 版本受到多个漏洞的影响。

描述

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

- 文件 ext/simplexml/simplexml.c 的 SimpleXMLElement: : asXML() 函数中存在空指针取消引用缺陷。未经身份验证的远程攻击者可利用此问题造成拒绝服务。

- 处理大于 2GB 的字符串时,文件 ext/openssl/openssl.c 的 openssl_random_pseudo_bytes() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题造成拒绝服务。

- 处理大于 2GB 的字符串时,文件 ext/openssl/openssl.c 的 openssl_encrypt() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题造成拒绝服务。

- 处理通过 'scale' 参数传递的值时,文件 ext/bcmath/libbcmath/src/init.c 的 _bc_new_num_ex() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题造成拒绝服务。

- 处理通过 'filename' 参数传递的负大小值时,文件 main/fopen_wrappers.c 的 php_resolve_path() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题造成拒绝服务。

- 由于缺失空检查,文件 ext/dom/document.c 的 dom_document_save_html() 函数中存在缺陷。未经身份验证的远程攻击者可利用此问题造成拒绝服务。

- unserialize() 函数中存在释放后使用错误,允许未经身份验证的远程攻击者取消引用已释放的内存,从而导致执行任意代码。

- 以等于或约等于 0x7fffffff 的值处理 'decimals' 和 'dec_point' 参数时,文件 ext/standard/math.c 的 number_format() 函数中存在整数溢出情况。未经身份验证的远程攻击者可利用此问题造成基于堆的缓冲区溢出,从而导致拒绝服务情况或执行任意代码。

- 文件 ext/intl/resourcebundle/resourcebundle_class.c 的 ResourceBundle: : create 和 ResourceBundle: : getLocales 方式及其各自函数中存在基于堆栈的溢出情况,这是未正确验证通过“bundlename”参数传递的输入所致。未经身份验证的远程攻击者可利用此问题造成拒绝服务情况或执行任意代码。

- 由于未正确验证用户提供的输入,文件 ext/pcre/php_pcre.c 的 php_pcre_replace_impl() 函数中存在整数溢出情况。未经身份验证的远程攻击者可利用此问题造成基于堆的缓冲区溢出,进而导致拒绝服务情况或可能执行任意代码。

- ext/date/php_date.c 文件的 php_date_interval_initialize_from_hash() 函数在反序列化 DateInterval 对象时存在缺陷,允许未经身份验证的远程攻击者造成不明影响。

file ext/spl/spl_observer.c 的 SplObjectStorage: : unserialize() 函数中存在一个不明缺陷,原因是系统允许使用非对象作为密钥。未经身份验证的远程攻击者可利用此问题造成不明影响。

解决方案

升级至 PHP 7.0.12 或更高版本。

另见

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

插件详情

严重性: Critical

ID: 94107

文件名: php_7_0_12.nasl

版本: 1.11

类型: remote

系列: CGI abuses

发布时间: 2016/10/18

最近更新时间: 2024/5/28

配置: 启用全面检查

支持的传感器: Nessus

漏洞信息

CPE: cpe:/a:php:php

必需的 KB 项: www/PHP

排除的 KB 项: Settings/disable_cgi_scanning

补丁发布日期: 2016/10/13

漏洞发布日期: 2016/10/11