CVE-2025-13935CVE-2025-13935是WordPress平台下Tutor LMS在线课程解决方案插件中的一个高危安全漏洞。该漏洞存在于所有3.9.2及以前版本中,由于mark_course_complete函数缺少必要的注册验证(enrollment verification)机制,导致已认证的低权限用户(订阅者级别及以上)可以在未经授权的情况下标记任意课程为已完成状态。攻击者可利用此漏洞伪造学习进度,骗取课程完成认证,进而可能获取付费课程内容、颁发虚假结业证书或影响学习平台的信誉和数据完整性。由于该漏洞无需特殊权限或用户交互即可被利用,因此具有较高的实际威胁性。
该漏洞属于OWASP Top 10 2021中的A01:2021 - Broken Access Control类别。具体而言,Tutor LMS插件的mark_course_complete函数在处理课程完成请求时,仅验证用户是否已登录(is_user_logged_in),但未验证该用户是否真正注册了该课程(is_enrolled)。攻击者只需拥有WordPress订阅者(subscriber)级别账号,即可通过构造恶意请求调用该函数,将任意课程标记为自己已完成。漏洞代码位于classes/Course.php文件中,攻击者可通过REST API或AJAX端点发送请求。修复方案需在该函数中添加is_enrolled($course_id, $user_id)验证逻辑,确保只有真正注册该课程的用户才能完成课程。