PHP 8.1.x < 8.1.29 多个漏洞

critical Nessus 插件 ID 200170

简介

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

描述

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

- 在配置为 CGI 脚本(又称为 php-cgi)时,低于 5.3.12 的 PHP 版本和低于 5.4.2 的 5.4.x PHP 版本中的 sapi/cgi/cgi_main.c 无法正确处理缺少 =(等号)字符的查询字符串,远程攻击者可以利用此漏洞,通过将命令行选项放在查询字符串中来执行任意代码;此漏洞与缺少针对 'd' 情况跳过某个 php_getopt 相关。(CVE-2012-1823)

- 对于 8.1.28 之前的 PHP 版本 8.1*、8.2.18 之前的 PHP 版本 8.2*、8.3.5 之前的 PHP 版本 8.3*,在数组语法中使用 proc_open() 命令时,由于逸出不充分,如果所执行命令的参数由恶意用户控制,该用户可以提供可在 Windows shell 中执行任意命令的参数。(CVE-2024-1874)

- 在 [] 之前的 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.1.29 或更高版本。

另见

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

插件详情

严重性: Critical

ID: 200170

文件名: php_8_1_29.nasl

版本: 1.10

类型: remote

系列: CGI abuses

发布时间: 2024/6/6

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

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

支持的传感器: Nessus

风险信息

VPR

风险因素: Critical

分数: 9.6

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.5

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

CVSS 分数来源: CVE-2012-1823

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

CVSS 分数来源: CVE-2024-4577

漏洞信息

CPE: cpe:/a:php:php

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

可利用: true

易利用性: Exploits are available

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

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

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

可利用的方式

CANVAS (CANVAS)

Core Impact

Metasploit (PHP CGI Argument Injection)

参考资料信息

CVE: CVE-2012-1823, CVE-2024-1874, CVE-2024-4577, CVE-2024-5458, CVE-2024-5585

IAVA: 2024-A-0330-S