Bleeping Computer 网站消息,WordPress 近期发布了 6.4.2 更新版本,修复了一个远程代码执行 (RCE) 漏洞。据悉,该漏洞能够与另外一个安全漏洞形成”联动“,允许威胁攻击者在目标网站上运行任意 PHP 代码。
WordPress 是一种非常流行的开源内容管理系统(CMS),主要用于创建和管理网站,目前已经有 8 亿多个网站使用它,约占互联网上所有网站的 45%。然而,该项目的安全团队在 WordPress core 6.4 中发现了一个面向属性编程(POP)链漏洞,在某些条件下,该漏洞可允许未经授权的威胁攻击者执行任意 PHP 代码。
POP 链”要求“威胁攻击者控制反序列化对象的所有属性,而 PHP 的 unserialize() 函数正好可以做到这一点,一旦这样操作的话,威胁攻击者有可能通过控制发送到 megic 方法(如"_wakeup()")的值来劫持应用程序的流程。值得一提的是,这个安全问题需要受害目标网站上存在 PHP 对象注入漏洞(可能存在于插件或主题附加组件中)才能产生最恶劣的影响。
WordPress 方面指出,该远程代码执行漏洞虽然在内核中无法直接被攻击者利用,但安全团队认为如果与某些插件结合使用,尤其是在多站点安装中,就有可能造成严重后果。
Wordfence 的 WordPress 安全专家的 PSA 提供了有关该安全问题的一些技术细节,并解释称该安全问题出现在 WordPress 6.4 中引入的“WP_HTML_Token”类中,以改进块编辑器中的 HTML 解析,该类包含一个“__destruct”magic 方法,该方法使用“call_user_func”执行在“on_decurt”属性中定义的函数,并将“bookmark_name”作为参数。
最后, 研究人员强调,威胁攻击者能够利用对象注入漏洞,轻松控制这些属性来执行任意代码。
有条件执行回调函数的类析构函数(Patchstack)
尽管该安全漏洞本身可能并不严重,但由于需要在已安装和活动的插件或主题上注入对象,WordPress 核心中存在可利用的 POP 链会显著增加 WordPress 网站的总体风险。Patchstack 针对 WordPress 和插件的安全平台发出的通知中强调,针对该问题的漏洞利用链已于几周前上传至 GitHub,随后被添加到用于 PHP 应用程序安全测试的 PHPGGC 库中。
最后,即使该漏洞只是潜在的安全问题,而且在某些特定情况下才可以被威胁攻击者利用,但安全研究人员还是建议管理员尽快更新到最新的 WordPress 版本。
参考文章:https://www.bleepingcomputer.com/news/security/wordpress-fixes-pop-chain-exposing-websites-to-rce-attacks/