关于PHP 多个远程代码执行漏洞安全风险通告

2022-06-101045

一、背景介绍

6月10日,市委网信办技术支撑单位监测到PHP 官方发布了多个远程代码执行漏洞,包含CVE-2022-31626、CVE-2022-31625。目前上述两个漏洞 PoC 及细节已在互联网上公开,该漏洞现实威胁提升,官方已经发布补丁。


1.1 漏洞描述

1.1.1 CVE-2022-31626在 PHP 的 mysqlnd 拓展中存在堆缓冲区溢出漏洞,利用该漏洞需要攻击者有连接 php 连接数据库的权限,通过建立恶意MySQL 服务器,使受害主机通过 mysqlnd 主动连接该服务器,触发缓冲区溢出,从而在受害主机上导致拒绝服务或远程执行

代码。

1.1.2 CVE-2022-31625在 PHP_FUNCTION 中分配在堆上的的 char* 数组没有被清除,如果发生转换错误,将会调用_php_pgsql_free_params()函数,由于数组没有初始化,导致可以释放之前请求的值,导致远程代码执行。


1.2 漏洞编号

CVE-2022-31626、CVE-2022-31625


1.3 漏洞等级

高危


2.1 受影响版本

2.1.1 CVE-2022-31626:

PHP 8.1.x < 8.1.7

PHP 8.0.x < 8.0.20

PHP 7.x < 7.4.30

2.1.2 CVE-2022-31625:

5.3.0 <= PHP 5.x <= 5.6.40

7.0.1 <= PHP 7.x < 7.4.30

8.0.0 <= PHP 8.0.x < 8.0.20

8.1.0 <= PHP 8.1.x < 8.1.7


2.2 修复建议

目前官方已发布修复版本,用户可升级至以下安全版本:

PHP 8.1.7

PHP 8.0.20 

PHP 7.4.30