坏了!WordPress无需账号密码即可 RCE

前言:一场“无需登录”的灾难

2026年7月,WordPress生态再次迎来重磅安全事件。研究人员公开了CVE-2026-63030(wp2shell)漏洞的完整利用链,结合CVE-2026-60137的SQL注入,攻击者无需任何账号密码,即可实现远程代码执行(RCE),完全接管目标站点。

20260719132105352-图片

 

不是插件漏洞,而是WordPress核心的问题。全球数百万WordPress站点面临直接威胁,尤其那些未及时更新的6.9.x和7.0.x版本。

漏洞核心:REST API批处理路由混淆 + SQL注入

20260719132055838-图片

 

1. 路由混淆(Route Confusion,CVE-2026-63030)

WordPress的/wp-json/batch/v1端点支持将多个子请求打包成一次HTTP调用,以提升性能。但在处理嵌套请求时,路由解析逻辑存在严重缺陷:

  • serve_batch_request_v1() 会构建两个平行数组:$matches(匹配的处理器)和$validation(验证结果)。
  • 构造特殊路径(如包含///的无效路径)会导致数组索引错位(desync)。
  • 原本应该被验证拒绝的请求,被错误地派发到另一个路由的处理器上,从而绕过权限检查和方法限制。

攻击者通过精心嵌套的batch请求,实现“请求A以请求B的身份执行”。

2. SQL注入(CVE-2026-60137)

结合WP_Query参数处理不当(特别是author__not_in等查询变量),攻击者可在/wp/v2/posts等路由下注入SQL。利用路由混淆后,即使是GET请求也能携带恶意参数,并通过盲注(time-based/boolean)或UNION方式操作数据库。

https://github.com/Icex0/wp2shell-poc

使用方法
python wp2shell.py shell
http://192.168.1.1 -i
[!] This uploads a plugin containing a webshell to the target.                                                          [!] No credentials supplied; attempting pre-auth administrator creation.
[*] Creating administrator through the SQLi-to-customizer bridge...
[+] Administrator created: wp2_fea52d90738f
[*] Authenticating as 'wp2_fea52d90738f'...
[+] Authenticated.
[*] Deploying webshell plugin...
[+] Webshell: http://192.168.1.2/wp-content/plugins/wp2shell_c545c0a4/wp2shell_c545c0a4.php
[*] Interactive shell — type commands, 'exit' or Ctrl-D to quit.
/var/www/html/wp-content/plugins/wp2shell_c545c0a4 $ whoami
www-data
/var/www/html/wp-content/plugins/wp2shell_c545c0a4 $

完整攻击链(Pre-Auth RCE)

  1. 盲SQL注入探测:确认漏洞存在,提取数据库信息。
  2. 伪造数据:利用UNION注入构造假的wp_posts记录,通过oEmbed缓存等机制在数据库中植入恶意内容。
  3. 创建管理员:篡改Customizer changeset、navigation item等,触发POST /wp/v2/users创建高权限用户。
  4. 登录并上传插件:以新管理员身份登录后台,上传恶意插件实现命令执行(webshell)。

整个过程无需凭据,部分PoC还能实现全自动化RCE。公开的工具包括:

  • Icex0/wp2shell-poc:独立PoC,支持check、read、shell模式,无第三方依赖。
  • NULL200OK/WP2Shell:批量扫描 + UNION提取凭据 + RCE。
  • ZephrFish Scanner:最完整框架,支持多种模式。
  • Nuclei官方模板等。

影响范围

受影响版本

  • WordPress 6.9.0 – 6.9.4
  • WordPress 7.0.0 – 7.0.1
  • 7.1 Beta1(部分)

6.8.5及以下版本不受此完整RCE链影响(但可能受关联SQLi影响)。

修复建议(立即行动!)

  1. 升级WordPress

    • 升级到 6.9.57.0.27.1 Beta2 及以上。
    • 官方已开启自动更新,建议立即检查后台「仪表盘 → 更新」。
  2. 临时缓解(升级前):

    • 在WAF/边缘(如Cloudflare、Nginx)拦截 /wp-json/batch/v1rest_route=/batch/v1 参数。
    • 安装插件临时禁用未认证REST API访问(注意兼容性)。
    • 监控异常batch请求和SQL相关日志。
  3. 事后检查

    • 审查最近创建的用户、插件、oEmbed缓存记录。
    • 扫描并移除可疑webshell。

写在最后

WordPress作为全球最流行的CMS,其核心漏洞的影响力远超普通插件问题。此次wp2shell事件再次提醒我们:及时更新、最小权限、WAF防护 是网站安全的底线。

开发者与站点管理员们,立刻升级吧!别让你的站点成为下一个被“无密码接管”的受害者。

参考链接:

https://github.com/Icex0/wp2shell-poc

https://github.com/Senanfurkan/wordpress-cve-2026-63030

https://github.com/NULL200OK/WP2Shell

https://github.com/ZephrFish/wp2shell-scanner

https://cloud.projectdiscovery.io/library/CVE-2026-63030ProjectDiscovery

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容