【安全公告】PHP多个远程代码执行漏洞风险预警

发布者:Hello痕
发布于:2022-06-16 14:38

1、漏洞概述

5月16日,PHP官方收到了来自c dot fol at ambionics dot io的一份报告,报告中提出关于PHP8.1.6版本,存在远程代码执行漏洞。经PHP官方确认,于6月9日,PHP官网发布了该漏洞的修复方案。

CVE-2022-31625

image.png


CVE-2022-31626

image.png


2、漏洞等级

  • CVE-2022-31625:PHP远程代码执行漏洞

高危

漏洞POC:公开

  • CVE-2022-31626:PHP远程代码执行漏洞

高危

漏洞POC:公开

CVSSv3评分为9.8


3、漏洞影响

image.png


4、漏洞分析

  • CVE-2022-31625

在pg_query_params()中,由于数组没有被初始化,因此可以释放以前请求中的延迟值,最终可导致远程代码执行。

PHP_FUNCTION(pg_query_params)函数中,使用zval_try_get_string进行数据类型转换,如果数据类型转换错误就会调用_php_pgsql_free_params释放掉的数组前部分值i,但由于错误传递参数,传递了整个数组的大小值num_params,导致释放了整个数组,进而导致释放了之前请求的值。

  • CVE-2022-31626

该漏洞在验证时会将mysql查询到的auth_data数据复制到内存数组p,申请p内存时,只申请了验证数据的buffer部分(长度为packet->auth_data_len)。而实际的auth_data是packet->auth_data_len+MYSQLND_HEADER_SIZE,所以导致复制时将大的数据复制到的小的空间发生了溢出。

5、修复建议

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

PHP 8.1.7

PHP 8.0.20

PHP 7.4.30

注:CVE-2022-31625影响的PHP 5.x官方已结束维护,请用户升级到上述安全版本。

参考资料

[1]https://bugs.php.net/bug.php?id=81719

[2]https://bugs.php.net/bug.php?id=81720

6、产品支持

目前聚铭网络脆弱性扫描系统(CSV)已经支持该漏洞的检测,用户可以到官网https://www.juminfo.com/index.php?catid=51下载最新漏扫插件,来检测是否存在该漏洞。



---- END ----



声明:该文观点仅代表作者本人,转载请注明来自看雪