WordPress 核心中的预身份验证 RCE“wp2shell”,影响 6.9/7.0 系列 7.0.2 等中修复。

WordPress.org 已尝试向关闭自动更新的网站分发补丁。原则是尊重管理员的设置,那为什么要走那么远呢?答案在于敞开大门的危险,以至于服务器可能会被单个匿名请求劫持。


WordPress 核心中披露了一个名为 wp2shell 的漏洞,该漏洞允许预身份验证远程执行代码 (RCE)。它不需要登录、插件或特殊设置,并且可以通过向标准 WordPress 发送匿名请求来利用它。

据估计,有 5 亿或更多网站使用 WordPress,但 RCE 影响使用版本 6.9.0 至 6.9.4 和 7.0.0 至 7.0.1 且具有允许攻击向量的配置的网站,受影响网站的实际数量尚未披露。

该漏洞由 Searchlight Cyber​​ 的 Adam Cuse 发现并报告,其原因是 REST API 批处理路由 (CVE-2026-63030) 与 SQL 注入 (CVE-2026-60137) 的混合导致了 RCE。 RCE链适用于6.9及以上版本,6.8.0至6.8.5版本受形成该链的SQL注入影响。

2026 年 7 月 17 日,WordPress.org 发布了修复版本 7.0.2,将两个修复程序向后移植到 6.9.5,并将 SQL 注入修复程序向后移植到 6.8.6。根据问题的严重程度,我们指定了相应的版本作为自动更新系统的强制更新目标。

从: wp2shell:WordPress Core 中的预身份验证 RCE(Searchlight Cyber​​)

【编辑部评论】

“我的网站此时此刻正在被重写吗?”如果您使用 WordPress,我希望您从这个问题开始。

这个“wp2shell”与普通漏洞的不同之处在于:攻击“门户”过于开放正是在这一点上。

许多攻击需要执行许多先前步骤才能使站点受到损害。窃取登录信息、查找易受攻击的插件、查找配置中的漏洞——每一个步骤都可能成为防御者争取时间的一堵墙。

然而,这个漏洞消除了许多障碍。无需登录、额外插件或特殊设置。通过向默认版本的 WordPress 发送匿名请求,可以在服务器上执行代码。但是,我们不能保证这在任何环境下都始终有效。 Cloudflare 还提到了不使用持久对象缓存的配置等条件,因此最好避免假设“完全零先决条件”。

从技术上讲,两个漏洞的组合会导致远程代码执行。在 REST API 批处理期间请求对应不匹配的缺陷 (CVE-2026-63030)。WP_Queryauthor__not_in绕过处理的SQL注入(CVE-2026-60137)——通过链接这两个,这可能会导致远程代码执行,这是网络攻击的最糟糕结果。

损害的范围不限于网站污损。多家安全公司指出,这可能包括访问数据库、存储在那里的凭据和个人信息,甚至包括周围的托管环境,具体取决于服务器的权限和配置。但需要注意的是,仅仅因为是共享服务器,并不会自动扩展到其他站点,这取决于权限和帐户分离的设计。

我想在这里补充一点历史观点。

WordPress 联合创始人 Matt Mullenweg 表示,这种类型的“预身份验证 RCE”在 WordPress 23 年的历史中只出现过几次,他记得最后一次是在五年前的 PHPMailer 中。这不是基于对所有案例进行系统调查的统计,而是个人的回忆,但仍然支撑世界网络很大一部分的基础上出现了一个很少出现的洞的案例我认为你接受这一点不会错得太离谱。

这次最引起我注意的是 WordPress.org 的回应。

WordPress.org 将根据严重程度更新受影响的版本。指定为自动更新系统上“强制更新”的目标。除了正常的自动更新之外,采取此操作的决定本身就表明该漏洞被评为极其严重。

然而,这里有一个问题。现在想“我很好,因为我受到强制更新”可能还为时过早。

这是因为“将其指定为强制更新目标”和“无论所有站点的本地设置如何都始终应用它”不是一回事。持续的AUTOMATIC_UPDATER_DISABLEDtrue在完全禁用自动更新的环境中,WordPress 核心自动更新程序本身将停止,因此不会通过核心自动更新过程应用补丁。如果使用版本控制修复部署,或者存在文件权限或托管限制,则更新可能不会到达。这就是为什么发现者故意对 Searchlight Cyber​​ 的技术细节保密,并发布了一个免费检查器,任何人都可以使用它来检查自己的站点。不要分发攻击材料,只分发防御手段。——这个判断的平衡体现了极力保护防守者的态度。

另外一个不容忽视的问题是检测的难度。这次攻击是由于它使用规范的批量 API 请求,因此很难使用简单的字符串签名进行区分。据说,但这并不是说WAF无法阻止这种情况。 Cloudflare 为使用 WAF 的站点制定了特殊规则,包括免费和付费计划。 Wordfence 还于 7 月 17 日向 Premium、Care 和 Response 版本提供了保护规则,但免费版本的提供计划在标准的 30 天延迟后于 8 月 16 日提供。仅仅依赖模式检测的防御有其局限性,检查您使用的保护何时可用也是一个好主意。

您还应该注意目标版本范围。 RCE 链接从 6.9.0 到 6.9.4 以及从 7.0.0 到 7.0.1 有效。另一方面,6.8系列(6.8.0到6.8.5)并非“完全无关”。虽然未被 RCE 链覆盖,但它仍然受到构成该链的 SQL 注入的影响,并已在 6.8.6 中修复。 6.8 之前的版本不受这两个问题的影响。正在开发的7.1系列预发布版本也受到影响,并在7.1 beta2中修复。这个案例的麻烦之处在于,不能说“它是安全的,因为它是旧的”或“它是安全的,因为它是最新的开发版本”。

出版后情况正在发生变化。截至发布时,尚未确认实际的利用情况。然而,Patchstack 数据库已将此问题列为“已知漏洞”。 VulnCheck也报告了该Patchstack的显示,但尚不清楚到底观察到了什么,并且尚未得到多个独立公司的证实该漏洞实际上正在被使用。此外,分析修改后差异的第三方PoC(概念验证代码)也已发布。除了预身份验证根混淆和 SQL 注入数据库读取之外,当前存储库使用SQL注入创建管理员帐户,并通过正常的管理功能实现代码执行路径。解释说。不过,这是第三方进行的 PoC,其完整操作尚未得到 WordPress 或 Searchlight Cyber​​ 的官方验证或确认。 Rapid7 从一开始就相信“既然 WordPress 是开源的,那么公开的 PoC 很可能会更快出现”,而且我们不能否认,随着攻击门槛的降低,情况会进一步发展。

如果您正在运行 WordPress 网站,我希望您检查一下今天的实际版本,看看它是否是 7.0.2(6.9 系列为 6.9.5,6.8 系列为 6.8.6)或更高版本。不仅是生产,还包括登台、经常被遗忘的子域和客户端站点。能够在一个站点上进行更新并不能保证其他站点的安全。。这个案例再次提醒我们,只有这样不断地进行检查,才能为享受未来的便利奠定基础。

[相关文章]

WordPress 7.1,AI阅读的CMS ── 41.5%份额询问「代理时代如何生存」
7.1开发版本的动向,这是本次已经打补丁的7.0系列的下一个版本。您可以阅读向 AI 开放 REST API 的设计理念以及其背后不断增长的攻击面。

Everest Forms Pro漏洞CVE-2026-3300发布补丁后仍继续被利用——WordPress网站劫持的方法与对策
最近的一篇文章讨论了“无需身份验证 x 远程代码执行”的最糟糕组合。即使在修复后攻击仍在继续,这一事实警告人们在这个补丁之后要小心。

WordPress Alone 主题漏洞扩大网站劫持损害,阻止约 12 万次攻击
这是一种在没有身份验证和“补丁间隙”的情况下发送插件的技术示例,其中攻击甚至在补丁发布之前就开始了。这将作为思考本 PoC 发布后的发展的材料。

[编者后记]

WordPress.org 尝试将该补丁分发到关闭自动更新的网站。原则是尊重管理员的设置,那为什么要走那么远呢?答案在于敞开大门的危险,以至于服务器可能会被单个匿名请求劫持。

即使指定为强制更新的目标,AUTOMATIC_UPDATER_DISABLED该补丁不会交付到启用此功能的环境中。换句话说,为了加强防御而关闭自动更新的网站越多,它们就越有可能被攻击。在这种情况下,潜伏着一个逆转,本意是防御性的设置实际上会导致最危险的情况。

您是否曾经检查过您的网站是否处于更新的“停止状态”?如果仅通过查看管理屏幕上的显示无法做出决定,wp-config.php亲眼目睹这条线绝对值得。


【术语解释】

RCE(远程代码执行)
攻击者可以从远程位置在服务器上执行任意代码或命令的情况。它被列为网络上最严重的漏洞之一,如果成功,它可能会控制您的网站。

认证前(pre-authentication)
这是指不需要任何形式的身份验证(例如登录)就可以进行攻击的性质。它可以在没有ID或密码的情况下被完全的第三方利用,而且这次甚至不需要用户交互,这使得它的危险性大大增加。

休息API
用于通过 HTTP 读取、写入和操作 WordPress 数据的标准窗口。所涉及的“批处理”系统是一个同时发送多个操作的系统,在该系统中发现了一个缺陷,导致请求之间的对应关系不一致。

SQL注入
一种将意外命令混合到数据库查询中的攻击方法。这次,这个缺陷是导致RCE的链条的起点之一。

CVE
用于识别和编目已发布的网络安全漏洞的通用系统。此次分配了两个案例:CVE-2026-63030(RCE链)和CVE-2026-60137(SQL注入)。

PoC(概念验证代码)
用于验证漏洞是否确实存在的代码。虽然它有助于防御者进行调查,但披露可能会降低攻击的门槛。此次发布的第三方PoC解释称,除了预认证SQL注入和数据库读取之外,还实现了通过创建管理员账户导致代码执行的路径。不过,这并不是 WordPress 或发现来源的官方验证结果。

向后移植
将新版本中所做的修复应用于仍受支持的旧版本。这次,7.0.2 的修复已反映在 6.9.5 中,SQL 注入修复已反映在 6.8.6 中。

WAF(Web应用防火墙)
一种检测并阻止未经授权的 Web 应用程序通信的机制。除了设备之外,还有一种云服务的形式。这种攻击很难与合法通信区分开来,并且保护规则的传递时间因提供商和计划而异。

资产票据
Searchlight Cyber​​提供的攻击面管理(ASM)产品和业务。 Adam Cuse 作为 Assetnote/Searchlight Cyber​​ 的成员报道了这个 RCE 链。

[参考链接]

WordPress.org(日语)(外部)
开源 CMS 的官方网站,支持全球大量网站。这是此补丁的分发位置,您还可以在此处查看如何更新它。

探照灯网络(外部)
一家英国网络安全公司发现并报告了这条 RCE 链。它是处理攻击目标区域管理的主要信息来源。

wp2shell.com(外部)
Searchlight Cyber​​ 发布的免费工具。您可以检查您的 WordPress 网站是否容易受到攻击。无意调查是否存在侵权行为。

GitHub(WordPress 官方安全公告)(外部)
WordPress 开发者发布的官方技术说明。这是一份主要文档,准确描述了 CVE 编号、影响范围和修订版本。

[参考文章]

wp2shell:WordPress Core 中的预身份验证 RCE(Searchlight Cyber​​)(外部)
来自发现地点的官方建议。它可以被匿名用户在没有任何先决条件的情况下利用,估计有超过 5 亿个网站在使用。它解释了发布检查器背后的过程,但没有透露技术细节。

WordPress 7.0.2发布(WordPress新闻)(外部)
修复提供商的官方发行说明。 2026年7月17日发布,表示由于问题严重,已启用自动更新系统强制更新。

REST API批量路由混乱和SQL注入问题导致RCE(GitHub Advisory)(外部)
官方 WordPress 技术咨询。这是正式记录影响范围、修订版本和严重严重级别的主要来源。

重要安全更新(Matt Mullenweg)(外部)
由 WordPress 联合创始人发布。 23年来我做过几次预认证RCE,记得最后一次是PHPMailer,那是5年前的事了。历史陈述的权威。

CVE-2026-63030:wp2shell 是 WordPress 核心(Rapid7)中的一个关键 RCE(外部)
被官方 GHSA 评级并介绍为“严重”。在发布时,它被列为 CVSS 7.5,但后来 NVD 将 WPScan CNA 列为 9.8,将 CISA-ADP 列为 7.5。

WP2Shell漏洞:CVE-2026-60137和CVE-2026-63030(VulnCheck)(外部)
Patchstack 已将此问题作为已知漏洞发布。目前还不清楚观察到了什么。滥用权力的情况。

wp2shell:WordPress Core REST API 中的预身份验证 RCE(Hadrian)(外部)
这是一项独特的技术分析,详细介绍了攻击建立后的影响范围以及难以与合法 REST 通信区分开来的特征。