PHP 8.2.x < 8.2.24 多个漏洞

high Nessus 插件 ID 207822

简介

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

描述

远程主机上安装的 PHP 版本低于 8.2.24。因此,它受到版本 8.2.24 公告中提及的多个漏洞影响。

- 在 PHP 版本 8.1.30 之前的 8.1.*、8.2.24 之前的 8.2.*、8.3.12 之前的 8.3.* 中 : 在使用 Windows 代码页的某些非标准配置时,还有可能绕过 CVE-2024-4577 https://github.com/advisories/GHSA-vxpp-6299-mxw3 的修复程序,并且可能导致与 Windows Best Fit 代码页行为相关的相同命令注入漏洞。这可能允许恶意用户将选项传递给正在运行的 PHP 二进制文件,从而泄露脚本的源代码、在服务器上运行任意 PHP 代码等等。(CVE-2024-8926)

- 在 PHP 版本 8.1.30 之前的 8.1.*、8.2.24 之前的 8.2.* 和 8.3.12 之前的 8.3.* 中,若错误解析 HTTP POST 请求中包含的多部分表单数据,或会导致合法数据得不到处理。
这可能导致恶意攻击者可以控制部分已提交的数据,进而排除部分其他数据,从而可能导致错误的应用程序行为。(CVE-2024-8925)

- 在 PHP 版本 8.1.30 之前的 8.1.*、8.2.24 之前的 8.2.* 和 8.3.12 之前的 8.3.* 中,HTTP_REDIRECT_STATUS 变量用于检查 HTTP 服务器是否正在运行 CGI 二进制。但在某些情况下,请求提交者可通过 HTTP 标头控制此变量的内容,这可导致无法正确应用 cgi.force_redirect 选项。在某些配置中,这可能导致 PHP 中包含任意文件。(CVE-2024-8927)

- 在 PHP 版本 8.1.30 之前的 8.1.*、8.2.24 之前的 8.2.*、8.3.12 之前的 8.3.* 中,使用 PHP-FPM SAPI 并将其配置为通过 catch_workers_output = yes 捕获工作线程输出时,它可能会通过操控日志消息内容来污染最终日志,或从日志消息中删除多达 4 个字符。
此外,如果将 PHP-FPM 配置为使用系统日志输出,它可能会利用相同漏洞来进一步删除日志数据。(CVE-2024-9026)

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

解决方案

升级至 PHP 8.2.24 或更高版本。

另见

http://php.net/ChangeLog-8.php#8.2.24

插件详情

严重性: High

ID: 207822

文件名: php_8_2_24.nasl

版本: 1.7

类型: remote

系列: CGI abuses

发布时间: 2024/9/26

最近更新时间: 2025/5/26

配置: 启用全面检查 (optional)

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 5.9

CVSS v2

风险因素: High

基本分数: 9

时间分数: 7

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

CVSS 分数来源: CVE-2024-8926

CVSS v3

风险因素: High

基本分数: 8.8

时间分数: 7.9

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

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

漏洞信息

CPE: cpe:/a:php:php

必需的 KB 项: www/PHP, installed_sw/PHP

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/9/26

漏洞发布日期: 2024/6/4

参考资料信息

CVE: CVE-2024-8925, CVE-2024-8926, CVE-2024-8927, CVE-2024-9026

IAVA: 2024-A-0609-S