PHP 7.0.x < 7.0.9 多种漏洞 (httpoxy)

critical Nessus 插件 ID 92556

简介

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

描述

根据其标题,远程 web 服务器上运行的 PHP 7.0.x 版本低于 7.0.9。因此,它受到多种漏洞的影响:

- 存在一个中间人漏洞(称为“httpoxy”),这是因为无法正确依据 RFC 3875 第 4.1.18 节解决命名空间冲突所导致。HTTP_PROXY 环境变量是基于 HTTP 请求的“Proxy”标头中不受信任的用户数据所设置。某些 Web 客户端库会使用 HTTP_PROXY 环境变量来指定远程代理服务器。未经认证的远程攻击者可利用此问题,通过 HTTP 请求中构建的“Proxy”标头,将应用程序的内部 HTTP 流量重定向到其可观察或操控的任意代理服务器。(CVE-2016-5385)

- ext/bz2/bz2.c 文件的 php_bz2iop_read() 函数中存在一个溢出情况,这是因为不当处理错误情况所导致。未经认证的远程攻击者可利用此问题,通过构建的请求执行任意代码。(CVE-2016-5399)

- GD Graphics Library (libgd) 中存在一个缺陷(具体而言是在 gd_interpolation.c 文件的 gdImageScaleTwoPass() 函数中),这是因为不当验证用户提供的输入所导致。未经认证的远程攻击者可利用此缺陷造成拒绝服务。(CVE-2016-6207)

- Zend/zend_virtual_cwd.c 文件的 virtual_file_ex() 函数中存在一个整数溢出情况,这是因为不当验证用户提供的输入所导致。未经认证的远程攻击者可利用此问题造成拒绝服务情况或执行任意代码。(CVE-2016-6289)

- 处理“var_hash”销毁时 ext/session/session.c 文件中存在一个释放后使用错误。未经认证的远程攻击者可利用此问题取消引用已经释放的内存,从而导致执行任意代码。
(CVE-2016-6290)

- ext/exif/exif.c 文件的 exif_process_IFD_in_MAKERNOTE() 函数中存在一个越界读取错误。未经认证的远程攻击者可利用此错误造成拒绝服务情况或泄漏内存内容。(CVE-2016-6291)

- ext/exif/exif.c 文件的 exif_process_user_comment() 函数中存在一个空指针取消引用缺陷。未经认证的远程攻击者可利用此缺陷造成拒绝服务。
(CVE-2016-6292)

- ext/intl/locale/locale_methods.c 文件的 locale_accept_from_http() 函数中存在多个越界读取错误。未经认证的远程攻击者可利用这些错误造成拒绝服务情况或泄露内存内容。
(CVE-2016-6293、CVE-2016-6294)

- 在反序列化用户提供的输入期间,处理垃圾收集时,ext/snmp/snmp.c 文件中存在一个释放后使用错误。未经认证的远程攻击者可利用此问题取消引用已经释放的内存,从而导致执行任意代码。(CVE-2016-6295)

- simplestring.c 文件的 simplestring_addn() 函数中存在一个基于堆的缓冲区溢出情况,这是因为不当验证用户提供的输入所导致。未经认证的远程攻击者可利用此问题造成拒绝服务情况或执行任意代码。(CVE-2016-6296)

- ext/zip/zip_stream.c 文件的 php_stream_zip_opener() 函数中存在一个整数溢出情况,这是因为处理 zip 流时不当验证用户提供的输入所导致。未经认证的远程攻击者可利用此问题造成拒绝服务情况或执行任意代码。(CVE-2016-6297)

- 处理透明颜色时 GD Graphics Library (libgd) 中存在一个越界读取错误(具体而言是在 gd_interpolation.c 文件的 gdImageScaleBilinearPalette() 函数中)。未经认证的远程攻击者可利用此错误造成拒绝服务情况或泄漏内存内容。(VulnDB 141674)

- ext/mcrypt/mcrypt.c 文件的 mdecrypt_generic() 函数中存在一个基于堆的缓冲区溢出情况,这是因为不当验证用户提供的输入所导致。未经认证的远程攻击者可利用此问题造成拒绝服务情况或执行任意代码。(VulnDB 141953)

- 处理字符串长度时,文件 ext/curl/interface.c 中的 curl_unescape() 函数存在一个缺陷。
未经认证的远程攻击者可利用此错误造成堆损坏,从而导致拒绝服务情况。(VulnDB 141955)

- 文件 ext/mcrypt/mcrypt.c 的 mcrypt_generic() 函数中存在一个基于堆的缓冲区溢出情况,原因是未正确验证用户提供的输入。未经认证的远程攻击者可利用此问题造成拒绝服务情况或执行任意代码。(VulnDB 141956)

- GD Graphics Library (libgd) 的 gdImageColorTransparent() 函数中存在一个空写入缺陷,这是因为不当处理负透明颜色所导致。远程攻击者可利用此问题来泄露内存内容。(VulnDB 142104)

解决方案

升级至 PHP 版本 7.0.9 或更新版。

另见

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

https://httpoxy.org

插件详情

严重性: Critical

ID: 92556

文件名: php_7_0_9.nasl

版本: 1.12

类型: remote

系列: CGI abuses

发布时间: 2016/7/26

最近更新时间: 2022/4/11

风险信息

CVSS 分数来源: CVE-2016-6296

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 5.9

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

时间矢量: E:POC/RL:OF/RC:C

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

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

时间矢量: E:P/RL:O/RC:C

漏洞信息

CPE: cpe:/a:php:php

必需的 KB 项: www/PHP

可利用: true

易利用性: No exploit is required

补丁发布日期: 2016/7/21

漏洞发布日期: 2016/7/18

参考资料信息

CVE: CVE-2016-5385, CVE-2016-5399, CVE-2016-6207, CVE-2016-6289, CVE-2016-6290, CVE-2016-6291, CVE-2016-6292, CVE-2016-6293, CVE-2016-6294, CVE-2016-6295, CVE-2016-6296, CVE-2016-6297

BID: 91821, 92051, 92073, 92074, 92078, 92094, 92095, 92097, 92099

CERT: 797896

EDB-ID: 40155