超过100万个站点受古腾堡模板库和Redux框架漏洞影响

2021 年 8 月 3 日,Wordfence 威胁情报团队针对我们在Gutenberg 模板库和 Redux 框架插件中发现的两个漏洞启动了披露流程,该插件安装在超过 100 万个 WordPress 网站上。一个漏洞允许具有较低权限的用户(例如贡献者)安装和激活任意插件,并通过 REST API 删除任何帖子或页面。第二个漏洞允许未经身份验证的攻击者访问有关站点配置的潜在敏感信息。

该插件的发行商 Redux.io 几乎立即回复了我们最初的联系,我们在 2021 年 8 月 3 日同一天提供了完整披露。该插件的补丁版本 4.2.13 于 2021 年 8 月 11 日发布。

说明:不正确的授权导致任意插件安装和删除后

受影响的插件: Gutenberg 模板库和 Redux 框架
插件 Slug: redux-framework
受影响的版本: <= 4.2.11
CVE ID: CVE-2021-38312
CVSS 评分: 7.1(高)
CVSS 向量: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
研究员/s: Ramuel Gall
完全修补版本: 4.2。 13

Gutenberg 模板库Redux 框架插件允许站点所有者添加块和块模板,通过从库中选择它们来扩展站点的功能。为此,它使用 WordPress REST API 处理请求以列出和安装可用块、管理现有块等。

虽然在 REST redux/v1/templates/Route下注册的 REST API Endpoints使用 apermission_callback来验证用户的权限,但此回调仅检查发送请求的用户是否具有该edit_posts能力。具有较低权限且不应完全信任已实现功能的用户(例如贡献者和作者)具有此功能。

这使得贡献者不仅可以通过redux/v1/templates/plugin-install端点安装块模板,还可以在 WordPress 存储库中安装任何插件,尽管只有主文件匹配特定条件的插件才能成功激活。虽然这不能直接用于接管站点,但攻击者可以使用此功能来安装和激活易受攻击的插件或插件组合,并使用它来获得进一步的访问权限。

贡献者级别的用户也可以使用redux/v1/templates/delete_saved_block端点删除任何帖子或页面。在此 REST 路由下注册的其他端点还允许对 Redux 插件进行许可证管理,低权限用户不应能够访问该插件。

说明:未经身份验证的敏感信息披露

受影响的插件: Gutenberg 模板库和 Redux 框架
插件 Slug: redux-framework
受影响的版本: <= 4.2.11
CVE ID: CVE-2021-38314
CVSS 分数: 5.3(中)
CVSS 向量: CVSS:3 /AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
研究员/s: Ramuel Gall
全补丁版本: 4.2.13

Gutenberg 模板库和 Redux 框架插件在includes函数中注册了几个可供未经身份验证的用户使用的 AJAX 操作redux-core/class-redux-core.php,这些操作对于给定站点来说是唯一的,但具有确定性和可预测性。

其中之一$hash_arg是基于站点 URL 的 md5 哈希值,其中包含一个已知的“盐”“-redux”。例如,URL 为“http://examplesite[.]com/ $hash_arg”的站点将具有“901804a230b5e6399d82dcd782395849”,因此wp_ajax_nopriv_901804a230b5e6399d82dcd782395849将在该站点上注册AJAX 操作。

$support_hash = md5( md5( Redux_Functions_Ex::hash_key() . '-redux' ) . '-support' );
add_action( 'wp_ajax_nopriv_' . $support_hash, array( 'Redux_Helpers', 'support_args' ) );
add_action( 'wp_ajax_' . $support_hash, array( 'Redux_Helpers', 'support_args' ) );
$hash_arg = md5( trailingslashit( network_site_url() ) . '-redux' );
add_action( 'wp_ajax_nopriv_' . $hash_arg, array( 'Redux_Helpers', 'hash_arg' ) );
add_action( 'wp_ajax_' . $hash_arg, array( 'Redux_Helpers', 'hash_arg' ) );
add_action( 'wp_ajax_redux_support_hash', array( 'Redux_Functions', 'support_hash' ) );

使用此操作发送 AJAX 请求会导致包含第二个哈希的响应。

 static function hash_arg() {
    echo esc_html( md5( Redux_Functions_Ex::hash_key() . '-redux' ) );
    die();
}

基于此,$support_hash可以通过获取$hash_argAJAX 操作响应中返回的哈希值、附加“-support”作为“salt”并获取该值的 md5 哈希值来确定站点的内容。

$support_hash未经身份验证的用户也可以使用此AJAX 操作,调用support_argsin 函数redux-core/inc/classes/class-redux-helpers.php,该函数返回潜在的敏感信息,例如 PHP 版本、站点上的活动插件及其版本,以及站点AUTH_KEY和SECURE_AUTH_KEY.

这在安装了带有附加漏洞的单独插件的情况下最有用,因为攻击者可以使用该信息来节省时间并计划入侵。

时间线

2021年8 月 3 日– Wordfence 威胁情报完成了对 Gutenberg 模板库和 Redux 框架插件的分析。我们向 Wordfence Premium 用户发布防火墙规则并启动披露流程。插件开发人员作出回应,我们提供完整的披露。
2021年8 月 11 日– 插件的修补版本 4.2.13 可用。

结论

在今天的帖子中,我们介绍了 Gutenberg 模板库和 Redux 框架中的一个高危漏洞,该漏洞允许贡献者级别的用户安装和激活插件以及从站点中删除帖子和页面,以及一个低危漏洞,该漏洞披露了潜在的敏感信息信息。虽然这两个漏洞都不能直接用于接管站点,但在熟练的攻击者手中,这两个漏洞都可能是有用的工具。

声明:本站带有” 原 “字文章,均为本站作者原创发布。原创文章任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站作者内容侵犯了原著者的合法权益,可联系我们进行处理。

文章来源 wordfence https://www.wordfence.com/blog/2021/09/over-1-million-sites-affected-by-redux-framework-vulnerabilities/

下一篇:

已经没有下一篇了!

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 软件商用保障
    正版采购,正规版权
  • 终身SVIP
    一次购买,终身受益
  • 海量资源
    教程、主题、插件一应俱全
  • 高效学习
    多位资深大佬,坐台解答
  • 信用保证
    数百万站长和用户的选择