Ninja Forms是一个WordPress表单生成器插件,允许WordPress用户基于拖放编辑器,在短短几分钟内创建复杂的表单。
目前该插件有超过100万的安装量,Ninja Forms 3.4.24.2 版本以下存在一个严重性较高的安全漏洞—— 跨站点请求伪造(CSRF),攻击者可以使用该插件的未修补版本来注入恶意代码并接管网站。
攻击者可以通过诱使WordPress管理员单击特制的链接来利用此Ninja Forms错误,该链接将恶意的JavaScript代码作为新导入的联系表的一部分进行注入。
带有恶意代码的表单
攻击者可以滥用该插件的功能,用恶意网站替换目标网站上的所有现有表格。Wordfence QA工程师 Ram Gall 已在这篇文章中进行了详细的介绍 。
为此,攻击者可以滥用插件的“旧版”模式所添加的ninja_forms_ajax_import_form
AJAX函数,此功能可恢复为较早版本中可用的样式和功能。
此功能不检查请求是否源自合法用户,因此,在管理员点击了恶意链接并导入包含恶意JavaScript代码的表单后,可以使用管理员的会话来欺骗请求。
在操纵了表单的的formID $_POST
参数之后,受攻击站点上的所有现有表单也可以替换为恶意表单。
“取决于JavaScript在导入表单中的放置位置,只要受害者访问包含表单的页面,管理员访问插件的“导入/导出”页面或管理员尝试编辑以下任何内容,就可以在受害者的浏览器中执行JavaScript表单的字段。”Ram Gall 解释道。
“与跨站脚本(XSS)攻击一样,在管理员的浏览器中执行的恶意脚本可用于添加新的管理帐户,从而完成网站的接管,而在访客的浏览器中执行的恶意脚本可用于将该访客重定向到恶意网站。”
请尽快更新到3.4.24.2
该漏洞已于4月27日发现并负报告给Ninja Forms的开发人员,然后开发者已经发布了3.4.24.2版本来修复该漏洞。
Wordfence对该安全问题进行了等级评定,其CVSS评分为8.8,说明这是严重性非常高的漏洞,所以使用旧版本Ninja Forms的用户,应该立即更新到3.4.24.2。