GLSA-202209-20:PHP:多个漏洞

critical Nessus 插件 ID 165627

语言:

描述

远程主机受到 GLSA-202209-20 中所述漏洞的影响(PHP:多个漏洞)

- 在 PHP 版本 7.3.x 到 7.3.31 以及版本低于 7.4.25 的 7.4.x 和版本低于 8.0.12 的 8.0.x 中,如果在运行 PHP FPM SAPI 的同时以 root 用户身份运行主 FPM 后台程序进程并以低权限用户身份运行子工作线程,则子进程可以访问与主进程共享的内存并向其写入,同时修改内存,从而导致根进程执行无效的内存读取和写入,攻击者可利用此漏洞将特权从本地非特权用户提升到 root 用户。
(CVE-2021-21703)

- 在低于 7.3.29 的 7.3.x、低于 7.4.21 的 7.4.x 和低于 8.0.8 的 8.0.x PHP 版本中,使用 Firebird PDO 驱动程序扩展时,恶意数据库服务器可返回驱动程序未正确解析的无效响应数据,进而造成 getAttribute()、execute()、fetch() 等各种数据库函数崩溃 。这可导致崩溃、拒绝服务或潜在内存损坏。
(CVE-2021-21704)

- 在低于 7.3.29 的 7.3.x、低于 7.4.21 的 7.4.x 和低于 8.0.8 的 8.0.x PHP 版本中,当通过具有 FILTER_VALIDATE_URL 参数的 filter_var() 函数使用 URL 验证功能时,具有无效密码字段的 URL 会被视作有效 URL。这可导致代码错误解析 URL,并可能导致其他安全隐患,例如联系错误的服务器或做出错误的访问决策。
(CVE-2021-21705)

- 在低于 7.4.28 的 PHP 7.4.x 版本、低于 8.0.16 的 PHP 8.0.x 版本以及低于 8.1.3 的 PHP 8.1.x 版本中,当使用具有 FILTER_VALIDATE_FLOAT 过滤条件和最小/最大限制的过滤函数时,如果过滤失败,则有可能触发在释放后使用已分配的内存,进而可能导致系统崩溃,并有可能覆盖其他内存区块和 RCE。此问题影响以下版本:使用设有最小/最大限制的 FILTER_VALIDATE_FLOAT 的代码。
(CVE-2021-21708)

- 在 PHP 版本低于 7.4.30 的 7.4.x、低于 8.0.20 的 8.0.x 和低于 8.1.7 的 8.1.x 中,当使用 Postgres 数据库扩展时,向参数化查询提供无效参数可能会导致 PHP 尝试使用未初始化的数据作为指针来释放内存。这样可能会导致 RCE 漏洞和拒绝服务。(CVE-2022-31625)

- 在 PHP 版本低于 7.4.30 的 7.4.x、低于 8.0.20 的 8.0.x 和低于 8.1.7 的 8.1.x 中,当 pdo_mysql 扩展包含 mysqlnd 驱动程序时,如果允许第三方提供要连接的主机和连接密码,则密码过长可触发 PHP 中的缓冲区溢出,进而可导致远程代码执行漏洞。(CVE-2022-31626)

- 在低于 8.1.8 的 PHP 8.1.x 版中,由于未将正确的补丁应用于 libmagic 的第三方代码,fileinfo 函数(例如 finfo_buffer)可能会使用错误的函数来释放已分配的内存,进而可能导致堆损坏。(CVE-2022-31627)

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

解决方案

所有 PHP 7.4 用户皆应升级至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/php-7.4.30:7.4 所有 PHP 8.0 用户皆应升级至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/php-8.0.23:8.0 所有 PHP 8.1 用户皆应升级至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=dev-lang/php-8.1.8:8.1

另见

https://security.gentoo.org/glsa/202209-20

https://bugs.gentoo.org/show_bug.cgi?id=799776

https://bugs.gentoo.org/show_bug.cgi?id=810526

https://bugs.gentoo.org/show_bug.cgi?id=819510

https://bugs.gentoo.org/show_bug.cgi?id=833585

https://bugs.gentoo.org/show_bug.cgi?id=850772

https://bugs.gentoo.org/show_bug.cgi?id=857054

插件详情

严重性: Critical

ID: 165627

文件名: gentoo_GLSA-202209-20.nasl

版本: 1.2

类型: local

发布时间: 2022/10/3

最近更新时间: 2022/10/3

风险信息

VPR

风险因素: High

分数: 7.4

CVSS v2

风险因素: Medium

基本分数: 6.9

时间分数: 5.1

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

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

CVSS 分数来源: CVE-2021-21703

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.5

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

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

CVSS 分数来源: CVE-2022-31627

漏洞信息

CPE: p-cpe:/a:gentoo:linux:php, cpe:/o:gentoo:linux

必需的 KB 项: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list

易利用性: No known exploits are available

补丁发布日期: 2022/9/29

漏洞发布日期: 2021/7/22

参考资料信息

CVE: CVE-2021-21703, CVE-2021-21704, CVE-2021-21705, CVE-2021-21708, CVE-2022-31625, CVE-2022-31626, CVE-2022-31627