PHP多個遠程代碼執行漏洞風險預警
安全小白成長記2022-07-21 11:02:29
1、漏洞概述
5月16日,PHP官方收到了來自c dot fol at ambionics dot io的一份報告,報告中提出關于PHP8.1.6版本,存在遠程代碼執行漏洞。經PHP官方確認,于6月9日,PHP官網發布了該漏洞的修復方案。
CVE-2022-31625

CVE-2022-31626

2、漏洞等級
- CVE-2022-31625:PHP遠程代碼執行漏洞
高危漏洞POC:公開
- CVE-2022-31626:PHP遠程代碼執行漏洞
高危漏洞POC:公開
CVSSv3評分為9.8
3、漏洞分析
- 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,所以導致復制時將大的數據復制到的小的空間發生了溢出。
4、修復建議
目前官方已發布修復版本,用戶可升級至以下安全版本:
PHP 8.1.7
PHP 8.0.20
PHP 7.4.30
注:CVE-2022-31625影響的PHP 5.x官方已結束維護,請用戶升級到上述安全版本。
來源:聚銘網絡
原文鏈接:https://baijiahao.baidu.com/s?id=1735771347794743837
安全小白成長記
暫無描述