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

admin 2026-07-22 08:04:47 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文披露WordPress核心无认证RCE漏洞wp2shell,由RESTAPI批量路由混淆与WP_QuerySQL注入串联触发。攻击者无需账号在默认配置下即可执行任意命令,影响6.9.0-6.9.4及7.0.0-7.0.1版本。POC已公开,风险极高。建议立即通过后台或WP-CLI升级至安全版本;暂无法升级者可临时禁用未登录RESTAPI、用WAF拦截批量端点或部署鉴权插件缓解。 综合评分: 90 文章分类: 漏洞预警,漏洞分析,应急响应,WEB安全,漏洞POC


cover_image

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

长亭安全应急响应中心

2026年7月19日 02:22 北京

在小说阅读器读本章

去阅读

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&nbsp;~* ^/wp-json/batch/v1&nbsp;{&nbsp; &nbsp;&nbsp;return&nbsp;403;}if&nbsp;($arg_rest_route&nbsp;~*&nbsp;"^/batch/v1")&nbsp;{&nbsp; &nbsp;&nbsp;return&nbsp;403;} 方案三:部署自定义插件 通过 SSH 或 FTP 将以下文件上传至 wp-content/plugins/disable-batch-api-for-unauth.php,然后在 WordPress 后台「插件」页面启用: <?php/**&nbsp;* Plugin Name: Disable Unauthenticated REST Batch API&nbsp;* Description: Requires an authenticated WordPress user for REST batch requests.&nbsp;* Version: 1.0.0&nbsp;* Requires at least: 5.6&nbsp;* License: GPL-2.0-or-later&nbsp;*/defined(&nbsp;'ABSPATH'&nbsp;) ||&nbsp;exit;/**&nbsp;* Reject anonymous requests to the core REST batch endpoint.&nbsp;*&nbsp;*&nbsp;@param&nbsp;mixed &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $result &nbsp;Pre-calculated dispatch result.&nbsp;*&nbsp;@param&nbsp;WP_REST_Server &nbsp;$server &nbsp;REST server instance.&nbsp;*&nbsp;@param&nbsp;WP_REST_Request $request Current REST request.&nbsp;*&nbsp;@return&nbsp;mixed|WP_Error&nbsp;*/function&nbsp;wporg_require_authentication_for_rest_batch(&nbsp;$result,&nbsp;$server,&nbsp;$request&nbsp;)&nbsp;{&nbsp; &nbsp;&nbsp;if&nbsp;(&nbsp;'/batch/v1'&nbsp;!==&nbsp;strtolower(&nbsp;untrailingslashit(&nbsp;$request->get_route() ) ) ||&nbsp;is_user_logged_in() ) {&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;return&nbsp;$result;&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp;return&nbsp;new&nbsp;WP_Error(&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;'rest_batch_authentication_required',&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;'Authentication is required to use the batch API.',&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;array(&nbsp;'status'&nbsp;=>&nbsp;401&nbsp;)&nbsp; &nbsp; );}add_filter(&nbsp;'rest_pre_dispatch',&nbsp;'wporg_require_authentication_for_rest_batch', -1000,&nbsp;3&nbsp;); *漏洞复现* Reproduction 04 长亭应急响应实验室已通过无锋元刃成功复现此漏洞 产品支持 Support 05 云图:默认支持该产品的指纹识别,同时支持该漏洞的PoC检测 洞鉴:默认支持该产品的指纹识别,已支持该漏洞的自定义PoC 无锋:默认支持该产品的指纹识别,已支持该漏洞的PoC检测 全悉:默认支持 雷池:默认支持 时间线 Timeline 06 2026年7月19日 长亭安全应急响应中心发布通告** 参考资料: [1].https://wp2shell.com/

长亭应急响应服务

全力进行产品升级

及时将风险提示预案发送给客户

检测业务是否受到此次漏洞影响

请联系长亭应急服务团队

7*24小时,守护您的安全

第一时间找到我们:

邮箱:[email protected]


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:长亭安全应急响应中心 《【已复现】无需账号、默认配置即可 getshell——WordPress Core 远程代码执行漏洞》

评论:0   参与:  0