WordPress上的PHP Everywhere插件曝出三個(gè)高危RCE漏洞
Bleeping Computer 報(bào)道稱:安全研究人員在 WordPress 的“PHP Everywhere”插件中發(fā)現(xiàn)了三個(gè)嚴(yán)重的遠(yuǎn)程代碼執(zhí)行(RCE)漏洞,導(dǎo)致全球超過 3 萬(wàn)個(gè)使用該插件的網(wǎng)站都受到了影響。據(jù)悉,該插件旨在方便管理員在頁(yè)面、帖子、側(cè)邊欄、或任何 Gutenberg 塊中插入 PHP 代碼,并借此來(lái)顯示基于評(píng)估的 PHP 表達(dá)式的動(dòng)態(tài)內(nèi)容。
Wordfence 安全分析師指出,CVSS v3 評(píng)分高達(dá) 9.9 的這三個(gè)漏洞,可被貢獻(xiàn)著或訂閱者所利用,且波及 2.0.3 及以下的所有 WordPress 版本。
首先是 CVE-2022-24663:
只需發(fā)送帶有‘短代碼’參數(shù)設(shè)置的 PHP Everywhere 請(qǐng)求,任何訂閱者都可利用該 RCE 漏洞,并在站點(diǎn)上執(zhí)行任何 PHP 代碼。
其次是 CVE-2022-24664:
貢獻(xiàn)者可借助插件的元框來(lái)利用該 RCE 漏洞,前提是創(chuàng)建一則帖子,添加一個(gè) PHP 代碼元框,然后進(jìn)行預(yù)覽。
然后是 CVE-2022-24665:
具有 edit_posts 權(quán)限、并可添加 PHP Everywhere Gutenberg 塊的貢獻(xiàn)者們,都可利用該 RCE 漏洞。
在易受攻擊的插件版本中,PHP Everywhere 并未默認(rèn)指定‘僅管理員權(quán)限’可用的安全設(shè)置,結(jié)果留下了這一隱患。
盡管后兩個(gè)漏洞因需要貢獻(xiàn)者的權(quán)限級(jí)別而不那么容易被利用,但首個(gè)漏洞還是讓業(yè)界感到驚詫不已。
舉個(gè)例子,只要某個(gè)用戶在網(wǎng)站上以‘訂閱者’的身份登錄,便足以獲得相應(yīng)的權(quán)限來(lái)執(zhí)行惡意 PHP 代碼。
不論怎樣,可在網(wǎng)站上執(zhí)行任意代碼,都可能導(dǎo)致整個(gè)站點(diǎn)被攻擊者所接管 —— 這也是所有網(wǎng)站安全事故中最糟糕的一種情況。
截圖(來(lái)自:Wordfence)
在 2022 年 1 月 4 日發(fā)現(xiàn)了上述漏洞字后,Wordfence 團(tuán)隊(duì)很快就向 PHP Everywhere 作者通報(bào)了此事。
廠商于 2022 年 1 月 10 日發(fā)布了 3.0.0 版安全更新,由于需要大量重寫代碼,所以版本號(hào)也發(fā)生了重大改變。
尷尬的是,盡管開發(fā)者行動(dòng)迅速,但網(wǎng)站管理員普遍不怎么會(huì)定期更新其 WordPress 網(wǎng)站和插件。
由 WordPress.org 分享的統(tǒng)計(jì)數(shù)據(jù)可知,自 Bug 修復(fù)方案推出以來(lái),3 萬(wàn)次安裝中只有 1.5 萬(wàn)次更新了插件。
有鑒于此,考慮到三個(gè) RCE 漏洞的嚴(yán)重性,我們?cè)诖藦?qiáng)烈建議所有 PHP Everywhere 用戶確保其已升級(jí)到最新可用的 3.0.0 版本。
需要注意的是,如果你在站點(diǎn)上使用了經(jīng)典編輯器,則需要先卸載該插件、并找到替代解決方案,以在其組件上托管自定義的 PHP 代碼。
因?yàn)?PHP Everywhere 的 3.0.0 版本僅支持基于 Block 編輯器的 PHP 片段,且作者不大可能致力于恢復(fù)落后的 Classic 功能。