研究人員發(fā)現(xiàn)WordPress插件AMP for WP – Accelerated Mobile Pages存在漏洞。AMP是移動(dòng)頁面加速的意思,是一個(gè)由谷歌公司啟動(dòng)的加快移動(dòng)頁面加載速度的項(xiàng)目,可以讓移動(dòng)端在訪問頁面時(shí)加載更快。最新的AMP版本為0.9.97.20,修復(fù)了之前發(fā)現(xiàn)的多個(gè)關(guān)鍵安全漏洞。前面提到的插件目前有超過10萬的安裝量。發(fā)現(xiàn)的漏洞允許未授權(quán)的用戶修改插件選項(xiàng),其中包括注入定制HTML代碼到主頁上。
AMP插件漏洞
在WordPress插件開發(fā)過程中,用戶可以注冊ajax hooks,注冊后允許直接調(diào)用wp-admin/admin-ajax.php?action=action_name。
該方法的主要問題在于每個(gè)注冊的用戶,不論賬號(hào)角色是什么,都可以調(diào)用ajax hooks。如果調(diào)用的hook不檢查用戶賬號(hào)角色,那么每個(gè)用戶就都可以使用這些函數(shù)了。
AMP插件漏洞位于ampforwp_save_steps_data,在安裝過程中會(huì)被調(diào)用來保存設(shè)置,然后注冊為wp_ajax_ampforwp_save_installer ajax hook。

在更新的版本中,插件會(huì)檢查wpnonce值,并檢查登陸的用戶是否可以管理選項(xiàng)。檢查只允許admin用戶來更新插件設(shè)置。

安全風(fēng)險(xiǎn)和POC
在插件設(shè)置中,管理員可以放置廣告,在header和footer中添加定制的HTML,因?yàn)闆]有用戶角色的驗(yàn)證,所有用戶都可以注入廣告、挖礦腳本或JS惡意軟件。該漏洞可以追溯到2018年10月20日,威脅等級(jí)被評(píng)定為critical,因?yàn)樵试S用戶注冊。
POC視頻
總結(jié)
目前AMP的該漏洞的補(bǔ)丁已經(jīng)在最近更新中修復(fù)了,研究人員建議用戶盡快更新插件。
|