WP AMP外掛漏洞分析
研究人員發現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。
在更新的版本中,外掛會檢查 ofollow,noindex">wpnonce 值,並檢查登陸的使用者是否可以管理選項。檢查只允許admin使用者來更新外掛設定。
安全風險和POC
在外掛設定中,管理員可以放置廣告,在header和footer中新增定製的HTML,因為沒有使用者角色的驗證,所有使用者都可以注入廣告、挖礦指令碼或JS惡意軟體。該漏洞可以追溯到2018年10月20日,威脅等級被評定為critical,因為允許使用者註冊。
總結
目前AMP的該漏洞的補丁已經在最近更新中修復了,研究人員建議使用者儘快更新外掛。