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

Bricks Builder 是一个功能强大的 WordPress 主题编辑插件。最近,CDNetworks 安全实验室在 WordPress 1.9.6 之前的版本的默认配置中发现了一个远程代码执行漏洞。此漏洞使用户能够绕过权限检查,从而导致远程代码执行并授予他们服务器级权限。不幸的是,利用此漏洞很简单,并且 […]The post Bricks Builder WordPress 主题:关键远程代码执行漏洞 (CVE-2024-25600) appeared first on CDNetworks.

来源:CDNetworks _云安全

Bricks Builder是WordPress的强大主题编辑插件。最近,CDNETWORKS安全实验室在WordPress版本的默认配置中发现了一个远程代码执行漏洞,早于1.9.6。此漏洞使用户能够绕过权限检查,从而导致远程代码执行并授予服务器级特权。

不幸的是,利用此漏洞很简单,其影响很普遍。建议企业和组织验证其WordPress版本,解决任何相关漏洞或实施Web保护解决方案以防止对此漏洞的开发。

漏洞分析

审查了公共漏洞概述和概念证明(POC)后,我们确定了/砖/v1/render_element路线的全局位置。此REST API路由在Bricks/Inlude/api.php文件中注册,该文件定义了请求方法,回调函数Render_Element和许可检查回调函数RENDER_ELEMENT_PERMISSIONS_CHECK。

我们在源代码中设置了断点,以进行动态调试和进一步分析。当服务器收到请求时,它将首先调用权限检查回调功能。

遵循路径砖/includs/api.php,我们观察到权限检查回调函数render_element_permissions_check基于nonce值进行权限验证。

在“砖”软件中,有效的nonce包含在前端。通过刷新WordPress主页,可以在前端源代码中在全球范围内找到NONCE。这意味着权限检查回调函数完全无效,允许任何未经授权的用户对此API执行操作。

验证从前端提取的非CE值后,我们继续进行回调函数Render_Element。在此函数中,调用了Ajax :: Render_Element函数,从请求正文传递了参数。

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