【安全公告】PHP多個遠端程式碼執行漏洞風險預警

Hello痕發表於2022-06-16

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 ----


相關文章