允许通过 OptinMonster WordPress 插件替换 JavaScript 代码的漏洞

OptinMonster WordPress 插件中发现了一个漏洞 (CVE-2021-39341),该插件拥有超过一百万的活跃安装量,用于显示弹出通知和优惠,允许您将 JavaScript 代码放置在网站上使用指定的附加组件。 该漏洞已在 2.6.5 版本中修复。 为了在安装更新后阻止通过捕获的密钥进行访问,OptinMonster 开发人员撤销了之前创建的所有 API 访问密钥,并添加了对使用 WordPress 站点密钥修改 OptinMonster 活动的限制。

该问题是由 REST-API /wp-json/omapp/v1/support 的存在引起的,无需身份验证即可访问该 API - 如果 Referer 标头包含字符串“https://wp”,则无需额外检查即可执行请求.app.optinmonster.test”以及将 HTTP 请求类型设置为“OPTIONS”(由 HTTP 标头“X-HTTP-Method-Override”覆盖)时。 在访问相关 REST-API 时返回的数据中,有一个访问密钥允许您向任何 REST-API 处理程序发送请求。

使用获得的密钥,攻击者可以更改使用 OptinMonster 显示的任何弹出块,包括组织 JavaScript 代码的执行。 获得在站点上下文中执行 JavaScript 代码的机会后,攻击者可以将用户重定向到其站点,或者当站点管理员执行替换的 JavaScript 代码时,在 Web 界面中组织特权帐户的替换。 通过访问 Web 界面,攻击者可以在服务器上执行他的 PHP 代码。

来源: opennet.ru

添加评论