WordPress不登录也能写配置 漏洞藏在升级临时目录
YGnight
YGnight
night安全
2026年11月2日 10:31
四川
去阅读
一、漏洞描述
升级本来是站点的自保动作,这次它自己开了一个口子。
| 编号 | 没有 CVE。GitHub 公告 GHSA-4w3m-c66w-69mg 于 10 月 29 日发布,cve\_id 一栏为空 |
| 什么洞 | 升级途中解压出来的那份临时代码能从外网访问,里面自带的安装程序可以被直接打开 |
| 出错的地方 | wp-admin/includes/class-wp-upgrader.php 里的 unpack\_package,加 update-core.php 里的 update\_core |
| 什么情况会中 | 正在跑完整包核心升级,后台自动更新算在内,wp-content/upgrade 能被外网访问且跑得动 PHP,请求赶在清理那一步之前到达 |
| 中招会怎样 | 安装程序按提交上来的数据库信息写一份 wp-config.php,这份配置跟着搬进正式站点,站点从此读的是对方那个库 |
| 影响范围 | 4.7 到 7.1.3。4.6 及更早没有补丁,官方只维护最新一个大版本 |
| 修到哪个版本 | 7.1.4,其余分支从 7.0.8 一路排到 4.7.39,一共 25 个小版本 |
| 打分 | Wordfence 给 CVSS 8.1 并强调攻击复杂度高,Patchstack 同样标 AC:H,GitHub 公告只标 low,三套口径不一致 |
| 现成脚本 | 截至 10 月 30 日,GitHub、X、Exploit-DB、Nuclei 模板库与 Metasploit 待合并请求里都没有公开利用代码,出自 ThreatWire 的检索 |
| 在野情况 | Wordfence 的拦截规则 10 月 28 日 20 点 30 分上线,九分钟后第一次命中,21 小时记到 18,500 多次请求,未报告成功拿站的案例 |
22 个问题里,只有这一条不需要登录。
两个主要来源对着小批站点连扫约 14.5 小时,其余来源换着目录名和版本号试,扫的是升级那一刻的窗口,不是某个固定路径。
二、漏洞原理
完整包升级开始后,WordPress 先把整份新代码解压到 wp-content/upgrade 下面的一个目录,再往站点根目录搬。
中间这段,新代码是能直接访问到的。
// wp-admin/includes/class-wp-upgrader.php 7.1.3 修复前
$upgrade\_folder = $wp\_filesystem->wp\_content\_dir() . 'upgrade/';
// Clean up contents of upgrade directory beforehand.
$upgrade\_files = $wp\_filesystem->dirlist( $upgrade\_folder );
if ( ! empty( $upgrade\_files ) ) {
foreach ( $upgrade\_files as $file ) {
$wp\_filesystem->delete( $upgrade\_folder . $file['name'], true );
}
}
$working\_dir = $upgrade\_folder . basename( basename( $package, '.tmp' ), '.zip' );
目录名取自安装包的文件名,前面是包名加版本号,后面跟 6 位随机字符,那是下载时生成的临时文件带出来的。
省事的路子在索引上。
清理这一趟把目录清空,核心自己又不往这里放 index.php。服务器开着目录索引,那个带随机后缀的目录名就摆在页面上了。
完整包里带着安装程序 wp-admin/setup-config.php。
直接请求这个地址,WordPress 本体不加载,插件不加载,安全插件一样不加载。它只是一份能跑的 PHP,按提交上来的数据库信息写 wp-config.php。
库是攻击者自己的,写出来的配置也就听他的。
窗口只有几秒。Wordfence 在实验室量到的可用时间就是几秒,扫描方因此改成反复轮询,等升级自己开始。
搬文件那一步,update\_core 手里有一份跳过名单。
// wp-admin/includes/update-core.php 7.1.3 修复前
$skip = array( 'wp-content', 'wp-includes/version.php' );
// 7.1.4 修复后,wp-config.php 进名单
$skip = array( 'wp-content', 'wp-includes/version.php', 'wp-config.php' );
wp-content 与 version.php 在名单里,wp-config.php 不在。临时副本里那份配置会被一起搬进正式站点。
站点从此读对方的库。
补丁一共改动三处,全在这两个文件里。
// wp-admin/includes/class-wp-upgrader.php 7.1.4 修复后
private function get\_working\_dir\_name( $package ) {
$name = basename( basename( $package, '.tmp' ), '.zip' );
return $name . '-' . wp\_generate\_password( 16, false );
}
foreach ( $upgrade\_files as $file ) {
if ( 'index.php' === $file['name'] ) {
continue;
}
$wp\_filesystem->delete( $upgrade\_folder . $file['name'], true );
}
if ( ! $wp\_filesystem->exists( $upgrade\_folder . 'index.php' ) ) {
$wp\_filesystem->put\_contents( $upgrade\_folder . 'index.php', \"<?php\
// Silence is golden.\
\", FS\_CHMOD\_FILE );
}
随机位从 6 位加到 16 位,清理跳过 index.php 并在缺的时候补一份,wp-config.php 写进跳过名单。
三、修复建议
升级到7.1.4,其余分支从 7.0.8 一路排到 4.7.39,一共 25 个小版本
近期值得重点关注的漏洞预警
【紧急漏洞预警】nacos爆出权限绕过漏洞,可以创建管理员账户,经过分析有点出处(已复现,exp脚本已编写)
【紧急漏洞预警】PHP爆出两个代码执行漏洞(POC已公开)CVE-2026-109618与CVE-2026-10961
【漏洞预警】Node.js Brotli解码器越界写远程代码执行漏洞(POC已公开)CVE-2026-111497
【漏洞预警】近期Signal 通话组件 RingRTC被爆出高危漏洞,编号为CVE-2026-113380
【漏洞预警】Fortinet FortiSIEM路径遍历导致RCE漏洞(POC已公开)CVE-2026-106173
【漏洞预警】linux内核漏洞(POC已公开)已有 Android/ARM64 的利用实现CVE-2026-98260
【漏洞预警】Next.js爆出RCE漏洞(POC已公开)CVE-2026-96889
【紧急漏洞预警】GitLab整数溢出导致RCE漏洞(POC已公开)
【漏洞预警】AnyDesk Linux存在堆缓冲区溢出漏洞(POC已公开)
【漏洞预警】macOS爆出路径穿越漏洞CVE-2026-84568(POC已公开)
【漏洞预警】Atlassian八款产品爆任意文件读取漏洞(附POC)
【漏洞预警】Joomla视频画廊扩展存在SQL注入漏洞(POC已公开)
【漏洞预警】Roundcube网页邮件客户端存在SQL注入漏洞(附POC)
WordPress页面模板存在文件包含漏洞(POC已公开)CVE-2026-87902
WordPress插件Forminator未认证短代码执行漏洞(poc已公开)CVE-2026-92229
WordPress插件Authorizer存在权限提升漏洞(POC已公开)CVE-2026-81294
WordPress插件MStoreAPI存在认证绕过漏洞(POC已公开)CVE-2026-13447
CakePHP爆出SQL注入漏洞(POC已公开)CVE-2026-77635
Node.js模块proxy-addr爆出严重漏洞CVE-2026-90711
Langflow爆出代码执行漏洞CVE-2026-17633 (POC已公开)
Apache CVE-2026-42536,补它只用一行,洞龄十四年
【紧急】搜狗输入法爆出远程代码执行漏洞CVE-2026-51990 ,已被在野利用
【紧急】无需登录就能获取 GitLab 的任意文件数据(附POC)
【紧急】JumpServer堡垒机被公布Access Key泄露漏洞,可以实现提权
Spring Cloud Azure公布严重漏洞 无需任何权限即可取得登录会话
【漏洞POC已公开】Linux RDS 爆出提权漏洞 一块内存放两次,root就到手了
13 行补丁,堵住Linux能拿 root 的内核洞(EXP已公开)
48 字节,换走一台 Windows 的 SYSTEM(CVE-2026-62735漏洞POC已公开)
【漏洞预警】linux删个网桥就能提权root?目前没有补丁(POC已公开)
【漏洞预警】自己注册个号,就能搬空别人的 Magento 订单和支付卡(POC已公开)
【漏洞预警】Next.js 爆出新漏洞,不用登录实现命令执行(POC已公开)
【漏洞补丁绕过预警】Redis CVE-2026-23479变种高危漏洞,EXP已公开
【漏洞补丁绕过】超 30 万 WordPress 站点受影响,Forminator 文件上传漏洞(附POC)
【漏洞预警】Exchange爆出RCE漏洞,利用Exchange 帮另一台 Exchange 开门(POC已公开)
【漏洞预警】不用登录,一个请求就能让 GeoServer 乖乖执行命令(POC已公开)
【漏洞预警】Keycloak不登录就能接管任意账户,双重验证也拦不住
【漏洞预警】 8月WebLogic公布了9个漏洞,有一个需要重点关注
【漏洞预警】近期MongoDB 公布了5个漏洞,最严重的一个可以不认证、远程就能拿下你电脑
【0DAY漏洞】 全球5G手机芯片厂商之一的紫光展锐SOC存在RCE漏洞,影响数十家手机厂商,还未发布补丁
【漏洞告警】安卓 14 到 16 全中招,通讯录 SQL 注入漏洞正在抄家(POC已公开)
【漏洞预警】不用输密码,对方已经接管你的Mac:官方补丁公布macOS存在未鉴权RCE漏洞
【0day漏洞预警】MariaDB 13 爆 9.8 分 RCE 链:最低 USAGE 权限就能远程执行命令
VMware 爆 5 个洞,两个 9.8 不用密码就能打穿 vCente
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论