最近一周,WordPress 圈子里被一个叫做 wp2shell 的重磅漏洞刷屏了。不同于平时那些“特定第三方插件”或“某个生僻主题”触发的小打小闹,这次问题直接出在 WordPress 核心(WordPress Core) 本身。也就是说,哪怕你的网站是一个刚装好的纯净版WordPress、一个插件都没加,也同样可能被黑客拿下!
今天我们就用接地气的方式,聊聊这个漏洞到底是怎么回事、有多大威力、哪些版本受影响,以及大家最关心的——该怎么彻底排查和修复。

这个漏洞是怎么被发现的?
2026年7月17日,安全研究团队 Searchlight Cyber(Assetnote)向官方提交并公布了这个名为 wp2shell 的漏洞组合拳。
有趣的是,这次漏洞的挖掘过程还借助了 AI 工具(如 GPT-5.6 Sol)辅佐分析 WordPress 源码。研究人员在审视 WordPress 的 REST API 路由逻辑与底层数据库查询代码时,发现两个看似不致命的小缺陷组合在一起后,竟能爆发出惊人的破坏力。随后官方紧急发布了修复补丁,并启动了后台强制自动更新。
wp2shell 具体怎么搞破坏?
简单来说,wp2shell 并不是单个孤立的漏洞,而是由两个漏洞组合(漏洞链)构成的“组合拳”:
- 第一拳:REST API 路由混淆(CVE-2026-63030)WordPress 引入的批量请求接口
/wp-json/batch/v1在鉴权上存在逻辑瑕疵,导致攻击者可以绕过正常的权限拦截。 - 第二拳:WP_Query 的 SQL 注入(CVE-2026-60137)WordPress 底层核心类
WP_Query在处理author__not_in参数时过滤不严,存在 SQL 注入问题。
组合在一起的效果:
原本需要管理员权限才能触及的数据库查询,被攻击者利用 REST API 的路由漏洞无缝绕过。攻击者在无需登录、无需任何账号凭证(匿名)的情况下,直接向服务器发送精心构造的请求,就能读取或篡改数据库。紧接着,他们可以通过注入直接导出管理员密码哈希并破解、新建隐藏的管理员账号,或者在站点写入恶意木马(WebShell),从而彻底拿下整台服务器的控制权。
一旦被黑,站点可能会被植入暗链、弹出赌博广告,甚至成为攻击者继续感染访客的“毒源”。
哪些 WordPress 版本涉及其中?
这次漏洞覆盖范围较广,具体版本对比如下:
- 完全受 RCE(远程代码执行)组合拳影响:
- WordPress
6.9.0–6.9.4 - WordPress
7.0.0–7.0.1
- WordPress
- 仅受 SQL 注入漏洞影响:
- WordPress
6.8.0–6.8.5
- WordPress
- 已安全修复的版本(安全版本):
- 6.8.6、6.9.5 以及 7.0.2(及以上版本)
注:低于 6.8 的极古老版本未受此特定漏洞链直接影响,但出于整体安全考量,依然建议升级到最新的安全分支。
WordPress网站站长应该如何排查和修复?
步骤 1:第一时间内确认并升级版本
虽然 WordPress 官方触发了后台静默更新,但千万不要盲目假设你的所有网站都已更新成功。有些服务器因为文件权限限制、禁用了自动更新函数,或者处于内部测试环境,后台更新可能会静默失败。
- 登录网站后台,查看右下角或“仪表盘 – 更新”页面。
- 确认系统版本是否已经处于 7.0.2、6.9.5 或 6.8.6。
- 如果还在旧版本,请立即点击手动更新。
步骤 2:应急临时防护(如无法立即升级)
如果你因为主题兼容性等原因暂时无法升级 WordPress 核心,可以通过防火墙(WAF)或宝塔/Nginx 配置文件,临时拦截匿名访问批量接口的请求:
在 Nginx 规则中封禁以下路径:
Nginx
location ~* /wp-json/batch/v1 {
return 403;
}
注意:这只是临时救急遮挡,升级核心才是唯一彻底治本的办法。
步骤 3:入侵排查(重要!)
补丁只能防止未来的攻击,无法清除在补丁发布前就已经植入的后门。建议重点检查:
- 用户列表:检查“用户 – 所有用户”中是否多出了不认识的管理员账号(尤其注意形如
wp2shell_xxx等异常用户名)。 - 敏感文件:检查
/wp-content/uploads/目录以及主题/插件目录下是否有最近新增的.php文件。 - 安全日志与密码:如果怀疑过往有异常访问,建议重置管理员密码,并刷新网站的 SALT 密钥(
wp-config.php中的密钥串)。
常见问答
Q:我的网站装了安全插件(如 Wordfence),还需要升级吗?
A: 需要。防火墙和安全插件规则可以拦截已知的攻击载荷,但它们只是防线之一,不能替代对核心漏洞本身的修复。
Q:这个漏洞需要安装特定插件才会触发吗?
A: 不需要。这是 WordPress Core 自身的逻辑漏洞,默认安装的裸系统就会受到影响。
Q:为什么官方更新了,我的网站版本还没变?
A: 自动更新可能受到服务器网络连接、文件写权限(wp-content 或根目录权限)、或 wp-config.php 中禁用了 AUTOMATIC_UPDATER_DISABLED 的影响。请务必手动进入后台确认。




