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

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

安全風險和POC
在插件設置中,管理員可以放置廣告,在header和footer中添加定制的HTML,因為沒有用戶角色的驗證,所有用戶都可以注入廣告、挖礦腳本或JS惡意軟件。該漏洞可以追溯到2018年10月20日,威脅等級被評定為critical,因為允許用戶注冊。
POC視頻
總結
目前AMP的該漏洞的補丁已經在最近更新中修復了,研究人員建議用戶盡快更新插件。
|