PHP 8.2.x < 8.2.20 多个漏洞

critical Nessus 插件 ID 200162

简介

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

描述

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

- 在 [] 之前的 PHP 版本 8.1.*、 8.1.29] 之前的 8.2.208.2.*、[] 之前的 8.3.88.3.* 版本中,在 Windows 上使用 Apache 和 PHP-CGI 时,如果系统设置为使用某些代码页面, Windows 可能会使用最佳行为替换提供给 Win32 API 函数的命令行中的字符。PHP CGI 模块可能将这些字符错误解释为 PHP 选项,这样允许恶意用户将选项传递给正在运行的 PHP 二进制文件,从而泄露脚本的源代码,在服务器上运行任意 PHP 代码,等等。(CVE-2024-4577)

- 在 [] 之前的 PHP 版本 8.1.*、 8.1.29] 之前的 8.2.208.2.*、[] 之前的 8.3.88.3.* 中,由于代码逻辑错误,在验证 URL (FILTER_VALIDATE_URL) 时某些类型URL 函数将导致无效的用户信息(URL 的用户名 + 密码部分)被视为有效用户信息。这可能会导致下游代码将无效的 URL 视为有效 URL 并对其进行错误的解析。 (CVE-2024-5458)

- 在 [] 之前的 PHP 版本 8.1.* 、 8.1.29] 之前的 8.2.208.2.* 和 [] 之前的 8.3.88.3.* 中,如果命令名称包含结尾空格,则针对 CVE-2024-1874 的补丁不起作用。最初的问题:在数组语法中使用 proc_open() 命令时,由于逸出不充分,如果所执行命令的参数由恶意用户控制,该用户可以提供可在 Windows shell 中执行任意命令的参数。
(CVE-2024-5585)

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

解决方案

升级至 PHP 8.2.20 或更高版本。

另见

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

插件详情

严重性: Critical

ID: 200162

文件名: php_8_2_20.nasl

版本: 1.13

类型: remote

系列: CGI abuses

发布时间: 2024/6/6

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

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

支持的传感器: Nessus

风险信息

VPR

风险因素: Critical

分数: 9.6

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.7

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

CVSS 分数来源: CVE-2024-4577

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.4

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

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

漏洞信息

CPE: cpe:/a:php:php

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/6/6

漏洞发布日期: 2012/5/4

CISA 已知可遭利用的漏洞到期日期: 2024/7/3

可利用的方式

CANVAS (CANVAS)

Core Impact

Metasploit (PHP CGI Argument Injection Remote Code Execution)

参考资料信息

CVE: CVE-2024-4577, CVE-2024-5458, CVE-2024-5585

IAVA: 2024-A-0330-S