导语:本文分析WordPress插件AMP for WP – Accelerated Mobile Pages的漏洞。
研究人员发现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,因为允许用户注册。
总结
目前AMP的该漏洞的补丁已经在最近更新中修复了,研究人员建议用户尽快更新插件。