Bricks Builder WordPress 主题:严重远程代码执行漏洞 (CVE-2024-25600)

最后更新于 2024年8月15日
Bricks-Builder-WordPress-Theme-Vulnerability.jpg

Bricks Builder是一款功能强大的WordPress主题编辑插件。近日,CDNetworks安全实验室在WordPress 1.9.6之前版本的默认配置中发现一个远程代码执行漏洞。该漏洞可让用户绕过权限检查,从而导致远程代码执行并授予其服务器级权限。

不幸的是,利用此漏洞非常简单,而且影响范围很广。建议企业和组织验证其 WordPress 版本、解决任何相关漏洞或实施 Web 保护解决方案,以防止利用此漏洞。

漏洞分析

在查看了公开的漏洞概述和概念验证 (PoC) 后,我们确定了 /bricks/v1/render_element 路由的全局位置。此 REST API 路由在 bricks/includes/api.php 文件中注册,其中定义了请求方法、回调函数 render_element 和权限检查回调函数 render_element_permissions_check

bricks-wordpress-vulnerability_01.png

我们在源码中设置断点,进行动态调试和进一步分析。当服务器接收到请求时,会首先调用权限检查回调函数。

bricks-wordpress-vulnerability_02-1024x472.jpg

顺着路径bricks/includes/api.php我们观察到权限检查回调函数render_element_permissions_check根据nonce值进行权限验证。

bricks-wordpress-vulnerability_03-1024x254.jpg

在“砖块”软件中,有效的nonce是包含在前端中的,通过刷新WordPress主页,可以在前端源代码全局找到nonce,这意味着权限检查回调函数完全失效,任何未经授权的用户都可以对该API进行操作。

bricks-wordpress-vulnerability_14.png

在验证从前端提取的 nonce 值后,我们进入回调函数 render_element。在此函数中,调用 Ajax::render_element 函数,并传递来自请求主体的参数。

bricks-wordpress-vulnerability_04.png

接下来我们进入bricks/includes/ajax.php中的render_element函数,在这个函数中,主要根据参数定位到Element_Code类,然后进行实例化。

bricks-wordpress-vulnerability_05.png

实例化后,调用init()函数。

接下来,按照这个函数进入 bricks/includes/elements/base.php

bricks-wordpress-vulnerability_06.png

在此文件中,请注意 this->render() 函数。然后,进入 bricks/includes/elements/code.php。很明显,在对危险函数调用进行一些检查后,eval 函数在异常处理中用于执行用户从配置中提交的代码。在这种情况下,code 参数由用户控制,允许使用类似`。

bricks-wordpress-vulnerability_07-1024x542.jpg

最后从当前缓冲区的内容中获取代码执行的结果,通过回调一步步完成请求。

bricks-wordpress-vulnerability_08-1024x331.jpg bricks-wordpress-vulnerability_09-1024x213.jpg bricks-wordpress-vulnerability_10.png

复制漏洞

使用 WordPress 6.4.3 + Bricks Builder 1.9.4 在本地进行设置。在 WordPress 主页上,查看源代码并对 nonce 的值进行全局搜索。

bricks-wordpress-vulnerability_11.png

使用 BurpSuite 构建请求 http://127.0.0.1/wordpress/?rest_route=/bricks/v1/render_element 并通过POST请求提交如下数据,执行命令“python –version”,在返回结果中可以成功看到当前主机的Python版本。

bricks-wordpress-vulnerability_12.png

受影响的资产

Fofa 上有超过 25,000 个相关资产。Fofa 查询:body=”/wp-content/themes/bricks/”

bricks-wordpress-vulnerability_13.png

缓解策略

为了解决此漏洞:

  1. 更新到最新版本的 WordPress Bricks Builder 主题。
  2. 避免依赖随机数值进行权限检查回调函数认证。
  3. 确保所有用户提交的输入都经过严格的验证和过滤,以防止未经授权的访问和代码执行。

最大限度地减少漏洞:CDNetworks 的云安全 2.0

CDNetworks 的云 WAF 针对该漏洞利用,提供即时防护,并持续调查分析其他变种攻击手法及各类组件漏洞,及时部署防护规则,最大限度降低企业的“漏洞窗口”。

最近一个月,CDNetworks 将其云安全解决方案升级为 云安全 2.0,介绍WAF的几个主要特性:

  • 内置规则集:超过 1,000 条针对 0-day/N-day 和 OWASP Top 10 攻击的规则集。
  • 智能分析(Self-Tuning):人工智能驱动用户行为学习,自动生成规则例外以减少误报。
  • 零日攻击虚拟补丁:持续监控漏洞,每小时生成新规则。
  • 采用人工智能技术的托管保护模式:增强威胁检测和响应。
  • 可扩展性和易于部署:可根据需要扩展并轻松部署。

通过整合这些功能,CDNetworks 旨在满足亚太地区企业不断变化的安全需求,确保组织在竞争激烈的市场中保持受到保护。

免费试用
CDNetworks

我们的多数产品都有14天的免费试用。无需信用卡。

探索更多

其他

CDNetworks Edge Application (边缘应用):解锁无服务器边缘计算的强大功能

Edge Application (边缘应用)是 CDNetworks 领先的无服务器边缘计算解决方案。阅读了解了解其原理、核心优势及典型应用场景。

了解更多 »
云安全

CDNetworks 帮助浏览器游戏平台抵御大规模 1.24 Tbps DDoS 攻击

2024年10月24日,CDNetworks成功抵御了东南亚某大型用户群页游平台遭受的超大规模DDoS攻击,攻击在网络层达到1.24Tbps,在应用层超过百万QPS。

了解更多 »