0xAshwesker/CVE-2026-1357
GitHub: 0xAshwesker/CVE-2026-1357
针对 WPvivid Backup & Migration 插件未授权远程代码执行漏洞(CVE-2026-1357)的 PoC 验证代码与完整漏洞链技术分析
Stars: 0 | Forks: 0
CVE-2026-1357 -- WPvivid RCE
WPvivid Backup & Migration 中的未授权远程代码执行 (RCE)
严重漏洞影响超过 800,000–900,000+ 个 WordPress 站点
未授权任意 PHP 上传 → 服务器完全失陷
## 🌩️ 概述 **CVE-2026-1357** (CVSS 9.8 – 严重) 影响到 **Migration, Backup, Staging – WPvivid Backup & Migration** 插件 (≤ 0.9.123)。 - **插件** → WPvivid Backup & Migration - **受影响版本** → ≤ 0.9.123 - **修复版本** → 0.9.124 (发布于约 2026 年 1 月 28 日) - **攻击向量** → 网络 - **复杂度** → 低 - **所需权限** → 无 - **用户交互** → 无 - **影响** → 远程代码执行 (对机密性、完整性、可用性影响极高) 该漏洞存在于插件的可选功能“从另一个站点接收备份”中(通过 `wpvivid_action=send_to_site`)。启用此功能后,未经验证的攻击者可以上传任意文件——最危险的是 PHP webshell——到 Web 可访问的位置,如 `/wp-content/uploads/`。 ## 🛠️ 根本原因 (漏洞链) | # | 问题类型 | 组件 | 描述 | |---|-----------------------------|----------------------------------------|-----------------------------------------------------------------------------| | 1 | 加密失败回退 | `class-wpvivid-crypt.php` | `openssl_private_decrypt()` 失败返回 `false` → phpseclib AES 将其视为全零字节 key (可预测的 16×0x00) | | 2 | 路径遍历 / 无过滤 | `class-wpvivid-send-to-site.php` | 解密 payload 中的文件名未经清洗直接使用 → `../` 遍历逃逸备份目录至 Web 根目录 |
→ 攻击者构造使用空 key 加密的 payload → 绕过“认证” → 在任意可写位置写入 `.php` 文件。
## 🔥 影响
- 以 Web 服务器用户(通常为 `www-data`)身份执行的**未授权**远程代码执行
- 站点完全失陷:后门、数据窃取、勒索软件、网页篡改
- 公开 PoC 在披露后不久(2026 年 2 月)即出现
- 由于易于利用且安装基数庞大,现实世界风险极高
**注意**:利用此漏洞需要启用“接收备份”功能(非默认开启)以及有效/未过期的 API token(最长 24 小时有效期)。
## 📅 时间线
| 日期 | 事件 |
|-------------------|-----------------------------------------------------------------------|
| 2026 年 1 月 12 日 | 由 Lucas Montes (NiRoX) 报告给 Wordfence |
| 2026 年 1 月 28 日 | 供应商发布修复版本 **0.9.124** |
| 2026 年 2 月 11 日 | CVE 官方发布 (NVD) |
| 2026 年 2 月 | 公开 PoC 及利用脚本出现 (GitHub, 博客) |
| 2026 年 3 月 | Nuclei 模板添加至官方仓库 (v10.4.0); 高 EPSS 评分 |
## 🛡️ 缓解与加固
**立即行动**
升级至 **WPvivid Backup & Migration ≥ 0.9.124** (修复内容:正确的解密失败处理、文件名清洗、文件类型限制)。
**临时变通方案** (若升级延迟):
- 在插件设置中禁用“从另一个站点接收备份”
- 若不需要该插件,将其停用/删除
- 通过 WAF / .htaccess 阻止带有 `action=wpvivid_send_to_site` 的 `/wp-admin/admin-ajax.php` POST 请求
**事件后检查**
- 搜索 `/wp-content/uploads/` (及其他可写目录) 查找可疑的 `.php` 文件
- 检查访问日志中对 `admin-ajax.php` 的异常 POST 请求
- 扫描 webshell,轮换凭据,若已失陷则从干净的备份恢复
**通用最佳实践**
- 保持 WordPress 核心、主题和插件更新
- 使用安全插件 (Wordfence, Sucuri 等)
- 限制文件权限;若不使用请禁用 XML-RPC
## 🔗 参考
- [NVD 官方条目](https://nvd.nist.gov/vuln/detail/CVE-2026-1357)
- [Wordfence 公告](https://www.wordfence.com/threat-intel/vulnerabilities/id/e5af0317-ef46-4744-9752-74ce228b5f37?source=cve) (详细披露)
- [插件页面](https://wordpress.org/plugins/wpvivid-backuprestore/)
- Nuclei 模板:官方 [projectdiscovery/nuclei-templates](https://github.com/projectdiscovery/nuclei-templates) (添加于 v10.4.0)
Patch early • Patch often • Stay secure
标签:0day, CISA项目, CVE-2026-1357, CVSS 9.8, OpenVAS, PHP, PoC, RCE, Webshell, WordPress插件, WPvivid, 任意文件上传, 备份迁移, 威胁模拟, 安全测试工具, 文件上传漏洞, 文件完整性监控, 暴力破解, 服务器攻陷, 未授权访问, 编程工具, 网络信息收集, 网络安全, 远程代码执行, 隐私保护, 高危漏洞