简介
远程 Web 服务器使用受多种漏洞影响的 PHP 版本。
描述
根据其标题,远程 web 服务器上运行的 PHP 5.5.x 版本低于 5.5.28。因此,它受到多种漏洞的影响:
- 由于未正确审查对 unserialize() 函数的输入,文件 spl_dllist.c 中存在一个释放后使用错误。攻击者可利用此问题,使用特别构建的 SplDoublyLinkedList 对象取消引用释放的内存,从而执行任意代码。
(OSVDB 125849)
- 由于未正确审查对 unserialize() 函数的输入,文件 spl_observer.c 中存在一个释放后使用错误。攻击者可利用此问题,使用特别构建的 SplObjectStorage 对象取消引用释放的内存,从而执行任意代码。
(OSVDB 125850)
- 由于未正确审查对 unserialize() 函数的输入,文件 spl_array.c 中存在一个释放后使用错误。攻击者可利用此问题,使用特别构建的 SplArrayObject 对象取消引用释放的内存,从而执行任意代码。
(OSVDB 125851)
由于在递归方法调用期间未正确使用函数 unserialize(),文件 zend_exceptions.c 中存在缺陷。远程攻击者可利用此缺陷导致使用 PHP 的应用程序崩溃。(OSVDB 125852)
由于函数 unserialize() 和 __toString() 的类型检查不充分,文件 zend_exceptions.c 中存在缺陷。远程攻击者可利用此缺陷导致空指针取消引用或执行意外方法,从而导致使用 PHP 的应用程序崩溃。(OSVDB 125853)
由于未能正确审查用户提供的输入,文件 phar_object.c 中存在路径遍历缺陷。攻击者可利用此缺陷写入任意文件。
(OSVDB 125854)
处理 zend_hash_get_current_key 或“Z*”调用时,文件 php_http.c 的 _call() 方法中存在多种类型混淆缺陷。攻击者可利用此缺陷泄露内存内容或导致使用 PHP 的应用程序崩溃。(OSVDB 125855)
由于未正确审查对 unserialize() 函数的输入,文件 spl_array.c 中存在一个悬摆指针错误。攻击者可利用此问题,使用特别构建的 SplDoublyLinkedList 对象,获取对释放指针的控制从而执行任意代码。(OSVDB 125856)
文件 openssl.c 中的 openssl_random_pseudo_bytes() 函数生成的数字随机程度不足。
攻击者可利用此漏洞更轻松地预测结果,从而执行进一步攻击。(OSVDB 125859)
由于未能正确验证通过标头字段传递的输入,soap.c 的 serialize_function_call() 函数中存在类型混淆缺陷。远程攻击者可利用此缺陷执行任意代码。(OSVDB 126952)
zend_hash.c 的 zend_hash_compare() 函数中存在比较数组时将会触发的整数截断缺陷。远程攻击者可利用此缺陷导致比较期间无法正确匹配数组。(OSVDB 127367) 请注意,Nessus 并未测试这些问题,而是只依赖于应用程序自我报告的版本号。
解决方案
升级至 PHP 版本 5.5.28 或更新版。
插件详情
配置: 启用全面检查
支持的传感器: Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: cpe:/a:php:php
必需的 KB 项: www/PHP
易利用性: No exploit is required