CVE-2026-3371: Tutor LMS <= 3.9.7 - Authenticated (Subscriber+) Insecure Direct Object Reference to Arbitrary Course Content Modification
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.9.7. This is due to missing authorization checks in the savecoursecontentorder() private method, which is called unconditionally by the tutorupdatecoursecontentorder AJAX handler. While the handler's contentparent branch includes a canusermanage() check, the savecoursecontentorder() call processes attacker-supplied tutortopicslessonssorting JSON without any ownership or capability verification. This makes it possible for authenticated attackers with Subscriber-level access or above to detach lessons from topics, reorder course content, and reassign lessons between topics in any course, including admin-owned courses, by sending a crafted AJAX request with manipulated topic and lesson IDs.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-3371?
CVE-2026-3371 is rated as a high severity vulnerability due to its potential for authenticated users to modify arbitrary course content.
How do I fix CVE-2026-3371?
To fix CVE-2026-3371, update the Tutor LMS plugin to version 3.9.8 or later.
Who is affected by CVE-2026-3371?
All users of Tutor LMS versions 3.9.7 and earlier are affected by CVE-2026-3371.
What type of vulnerability is CVE-2026-3371?
CVE-2026-3371 is classified as an Insecure Direct Object Reference (IDOR) vulnerability.
What can attackers do with CVE-2026-3371?
Attackers can exploit CVE-2026-3371 to modify course content within the Tutor LMS for unauthorized access or data manipulation.