您所在的位置: 首頁(yè) >
安全研究 >
安全通告 >
PHPMailer 遠(yuǎn)程代碼執(zhí)行漏洞
(CVE-2021-3603)
0x00 漏洞概述
0x01 漏洞詳情
PHPMailer是一個(gè)用于發(fā)送電子郵件的開(kāi)源PHP庫(kù),可以設(shè)定發(fā)送郵件地址、回復(fù)地址、郵件主題、html網(wǎng)頁(yè)及上傳附件,使用起來(lái)非常方便,目前已被全球超過(guò)900萬(wàn)的用戶使用。
2021年06月16日,PHPMaile發(fā)布安全公告,修復(fù)了PHPMailer中的2個(gè)遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2021-3603和CVE-2021-34551),遠(yuǎn)程攻擊者可以利用這些漏洞在系統(tǒng)上執(zhí)行任意代碼。
PHPMailer遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2021-3603)
該漏洞的CVSSv3評(píng)分為8.1。validateAddress()函數(shù)用于驗(yàn)證電子郵件地址,如果validateAddress()的$patternselect參數(shù)被設(shè)置為'php'(默認(rèn)值,由PHPMailer::$validator定義),并且全局命名空間包含一個(gè)名為php的函數(shù),它將優(yōu)先于同名的內(nèi)置驗(yàn)證器被調(diào)用。遠(yuǎn)程攻擊者可以通過(guò)構(gòu)造惡意請(qǐng)求來(lái)利用此漏洞,從而可以在目標(biāo)系統(tǒng)上執(zhí)行任意代碼。該漏洞已經(jīng)在PHPMailer 6.5.0中通過(guò)拒絕使用簡(jiǎn)單字符串作為驗(yàn)證器函數(shù)名稱來(lái)緩解。
PHPMailer遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2021-34551)
如果setLanguage()方法的$lang_path參數(shù)未過(guò)濾用戶輸入且被設(shè)置為UNC路徑,攻擊者可以通過(guò)從該UNC路徑加載文件來(lái)遠(yuǎn)程執(zhí)行腳本或代碼。此漏洞僅存在于可解析 UNC 路徑的系統(tǒng),通常僅適用于 Microsoft Windows。
影響范圍
PHPMailer <= 6.4.1
0x02處置建議
目前此漏洞已經(jīng)修復(fù),建議及時(shí)升級(jí)更新至PHPMailer 6.5.0。
下載鏈接:
https://github.com/PHPMailer/PHPMailer
通用安全建議
對(duì)代碼進(jìn)行安全審計(jì),盡早檢測(cè)潛在的安全漏洞,并增強(qiáng)代碼邏輯性。
對(duì)用戶的輸入進(jìn)行過(guò)濾或轉(zhuǎn)義,避免參數(shù)可控。
用戶應(yīng)定期更新軟件、程序和應(yīng)用程序,確保應(yīng)用程序是最新的,以保護(hù)系統(tǒng)免受漏洞利用。
0x03參考鏈接
https://github.com/PHPMailer/PHPMailer/blob/master/SECURITY.md
https://github.com/PHPMailer/PHPMailer/commit/45f3c18dc6a2de1cb1bf49b9b249a9ee36a5f7f3
https://www.huntr.dev/bounties/1-PHPMailer/PHPMailer/
https://nvd.nist.gov/vuln/detail/CVE-2021-3603
0x04時(shí)間線
2021-06-16 PHPMailer發(fā)布安全公告
2021-06-21 VSRC發(fā)布安全通告
0x05 附錄
CVSS評(píng)分標(biāo)準(zhǔn)官網(wǎng):http://www.first.org/cvss/
來(lái)源:維他命安全