【已复现】无需账号、默认配置即可 getshell——WordPress Core 远程代码执行漏洞

admin 2026年7月20日00:42:36评论86 views字数 2684阅读8分56秒阅读模式

WordPress存在由两个漏洞串联的无认证远程代码执行利用链wp2shell(CVE-2026-63030+CVE-2026-60137),攻击者无需账号即可通过HTTP请求执行任意命令。目前PoC已公开,官方已推送修复版本,建议立即升级。

【已复现】无需账号、默认配置即可 getshell——WordPress Core 远程代码执行漏洞

WordPress 是全球使用最广泛的内容管理系统,驱动着互联网上千万的网站,覆盖从个人博客到企业官网、电商平台的各类场景。

2026 年 7 月,长亭安全应急响应中心检测到互联网披露了 WordPress 中一条由两个漏洞串联构成的无认证远程代码执行利用链,命名为 wp2shell(CVE-2026-63030 + CVE-2026-60137)。攻击者仅需向 WordPress发送HTTP构造请求,无需任何账号或特殊配置即可在目标服务器上执行任意命令。目前 PoC 已公开,WordPress 官方已通过强制自动更新推送修复版本,建议仍在使用受影响版本的用户立即升级。
漏洞描述
Description
01

漏洞成因

wp2shell 由两个漏洞链式组合触发:
CVE-2026-63030:REST API 批量路由混淆
WordPress 的 /wp-json/batch/v1批量请求端点在内部维护一个请求数组跟踪器。当攻击者故意构造一个会触发错误的请求时,内部数组指针发生偏移(off-by-one),导致后续请求被路由到错误的处理器下执行——即"请求 A 的数据跑在了请求 B 的处理器上"。这一混淆使攻击者的输入得以绕过端点白名单检查,抵达原本受保护的参数。
CVE-2026-60137:WP_Query SQL 注入
WP_Query的 author__not_in参数在类型检查上存在缺陷:预期传入数组类型,但当传入字符串时,类型校验被跳过,原始字符串值被直接拼接进 SQL 查询,构成 SQL 注入。

漏洞影响

攻击者可在服务器上执行任意代码,可能导致服务器被完全控制、数据泄露或业务系统沦陷。

处置优先级:高

漏洞类型:远程代码执行

漏洞危害等级:高

触发方式:网络远程

权限认证要求:无需权限

系统配置要求:默认配置

用户交互要求:无需用户交互

利用成熟度:POC/EXP 已公开

修复复杂度:低,官方已提供修复方案

影响版本
Affects
02

WordPress 6.9.0-6.9.4、7.0.0-7.0.1

解决方案
Solution
03

升级修复方案

WordPress 已通过内置强制自动更新机制向受影响版本推送了安全补丁。若站点未启用自动更新,使用 WP-CLI 手动升级:
# 查看当前版本wp core version# 升级到最新稳定版wp core update# 验证升级结果wp core version# 预期输出:6.9.5、7.0.2 或更高
也可通过 WordPress 后台:仪表盘 → 更新 → 立即更新。
官方发布说明:
https://wordpress.org/news/2026/07/wordpress-6-9-5/
https://wordpress.org/news/2026/07/wordpress-7-0-2/

临时缓解方案

以下三种方案均为应急临时措施,可能影响站点正常功能,升级完成后应及时移除。

方案一:安装插件 Disable WP REST API

在 WordPress 插件市场搜索并安装 Disable WP REST API,启用后将阻止未登录用户访问全部 REST API 端点。

方案二:WAF 规则封锁批量端点

在 WAF 或反向代理层同时拦截以下两个路径:

/wp-json/batch/v1/?rest_route=/batch/v1
Nginx 示例:
location ~* ^/wp-json/batch/v1 {    return 403;}location ~* rest_route=/batch/v1 {    return 403;}

方案三:部署自定义插件

通过 SSH 或 FTP 将以下文件上传至 wp-content/plugins/disable-batch-api-for-unauth.php,然后在 WordPress 后台「插件」页面启用:

<?php/** * Plugin Name: Disable Unauthenticated REST Batch API * Description: Requires an authenticated WordPress user for REST batch requests. * Version: 1.0.0 * Requires at least: 5.6 * License: GPL-2.0-or-later */defined( 'ABSPATH' ) || exit;/** * Reject anonymous requests to the core REST batch endpoint. * * @param mixed           $result  Pre-calculated dispatch result. * @param WP_REST_Server  $server  REST server instance. * @param WP_REST_Request $request Current REST request. * @return mixed|WP_Error */functionwporg_require_authentication_for_rest_batch($result, $server, $request ) {    if( '/batch/v1' !== strtolower( untrailingslashit( $request->get_route() ) ) || is_user_logged_in() ) {        return $result;    }    return new WP_Error(        'rest_batch_authentication_required',        'Authentication is required to use the batch API.',        array( 'status' => 401 )    );}add_filter( 'rest_pre_dispatch', 'wporg_require_authentication_for_rest_batch', -1000, 3 );
漏洞复现
Reproduction
                                      04

长亭应急响应实验室已通过无锋元刃成功复现此漏洞

【已复现】无需账号、默认配置即可 getshell——WordPress Core 远程代码执行漏洞

原文始发于微信公众号(HACK之道):【已复现】无需账号、默认配置即可 getshell——WordPress Core 远程代码执行漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2026年7月20日00:42:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【已复现】无需账号、默认配置即可 getshell——WordPress Core 远程代码执行漏洞http://cn-sec.com/archives/5351494.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息