【安全公告】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]164K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1N6h3N6K6i4K6u0W2M7r3S2H3i4K6u0W2L8X3g2@1i4K6u0r3j5Y4g2Y4i4K6u0W2M7r3S2H3i4K6y4r3K9h3c8Q4x3@1b7^5x3e0M7I4z5b7`.`.

[2]e34K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1N6h3N6K6i4K6u0W2M7r3S2H3i4K6u0W2L8X3g2@1i4K6u0r3j5Y4g2Y4i4K6u0W2M7r3S2H3i4K6y4r3K9h3c8Q4x3@1b7^5x3e0M7J5x3l9`.`.

6、产品支持

目前聚铭网络脆弱性扫描系统(CSV)已经支持该漏洞的检测,用户可以到官网11cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2B7N6h3#2A6L8X3k6G2i4K6u0W2j5$3!0E0i4K6u0r3K9h3&6V1k6i4S2Q4x3X3g2H3K9s2m8Q4x3@1k6U0j5i4c8A6k6q4)9K6c8o6f1I4下载最新漏扫插件,来检测是否存在该漏洞。



---- END ----



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