渠道公告

PHP多個(gè)遠(yuǎn)程代碼執(zhí)行漏洞風(fēng)險(xiǎn)預(yù)警

來(lái)源:聚銘網(wǎng)絡(luò)    發(fā)布時(shí)間:2022-06-16    瀏覽次數(shù):
 
一、漏洞概述

5月16日,PHP官方收到了來(lái)自c dot fol at ambionics dot io的一份報(bào)告,報(bào)告中提出關(guān)于PHP8.1.6版本,存在遠(yuǎn)程代碼執(zhí)行漏洞。經(jīng)PHP官方確認(rèn),于6月9日,PHP官網(wǎng)發(fā)布了該漏洞的修復(fù)方案。

CVE-2022-31625


CVE-2022-31626

二、漏洞等級(jí)

CVE-2022-31625:PHP遠(yuǎn)程代碼執(zhí)行漏洞

高危

漏洞POC:公開(kāi)

CVE-2022-31626:PHP遠(yuǎn)程代碼執(zhí)行漏洞

高危

漏洞POC:公開(kāi)

CVSSv3評(píng)分為9.8

三、漏洞影響

四、漏洞分析

CVE-2022-31625

在pg_query_params()中,由于數(shù)組沒(méi)有被初始化,因此可以釋放以前請(qǐng)求中的延遲值,最終可導(dǎo)致遠(yuǎn)程代碼執(zhí)行。

PHP_FUNCTION(pg_query_params)函數(shù)中,使用zval_try_get_string進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換,如果數(shù)據(jù)類(lèi)型轉(zhuǎn)換錯(cuò)誤就會(huì)調(diào)用_php_pgsql_free_params釋放掉的數(shù)組前部分值i,但由于錯(cuò)誤傳遞參數(shù),傳遞了整個(gè)數(shù)組的大小值num_params,導(dǎo)致釋放了整個(gè)數(shù)組,進(jìn)而導(dǎo)致釋放了之前請(qǐng)求的值。

CVE-2022-31626

該漏洞在驗(yàn)證時(shí)會(huì)將mysql查詢到的auth_data數(shù)據(jù)復(fù)制到內(nèi)存數(shù)組p,申請(qǐng)p內(nèi)存時(shí),只申請(qǐng)了驗(yàn)證數(shù)據(jù)的buffer部分(長(zhǎng)度為packet->auth_data_len)。而實(shí)際的auth_data是packet->auth_data_len+MYSQLND_HEADER_SIZE,所以導(dǎo)致復(fù)制時(shí)將大的數(shù)據(jù)復(fù)制到的小的空間發(fā)生了溢出。

五、修復(fù)建議

目前官方已發(fā)布修復(fù)版本,用戶可升級(jí)至以下安全版本:

PHP 8.1.7

PHP 8.0.20

PHP 7.4.30

注:CVE-2022-31625影響的PHP 5.x官方已結(jié)束維護(hù),請(qǐng)用戶升級(jí)到上述安全版本。

參考資料

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

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

六、產(chǎn)品支持

目前聚銘網(wǎng)絡(luò)脆弱性掃描系統(tǒng)(CSV)已經(jīng)支持該漏洞的檢測(cè),用戶可以到官網(wǎng)http://emrijsm.cn/index.php?catid=51下載最新漏掃插件,來(lái)檢測(cè)是否存在該漏洞。

 
 

上一篇:2022年6月29日聚銘安全速遞

下一篇:泰國(guó)《個(gè)人數(shù)據(jù)保護(hù)法》經(jīng)兩次推遲后正式生效