Every CVE Search/ Get API key

CVE-2026-3371

Tutor LMS <= 3.9.7 - Authenticated (Subscriber+) Insecure Direct Object Reference to Arbitrary Course Content Modification

4.3 Medium

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 save_course_content_order() private method, which is called unconditionally by the tutor_update_course_content_order AJAX handler. While the handler's content_parent branch includes a can_user_manage() check, the save_course_content_order() call processes attacker-supplied tutor_topics_lessons_sorting 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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

Exploit likelihood

0.37%Up 0.3 points since Apr 11, 2026
90%50%10%1%

What each source reports

CVE List Score used 4.3

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 save_course_content_order() private method, which is called unconditionally by the tutor_update_course_content_order AJAX handler. While the handler's content_parent branch includes a can_user_manage() check, the save_course_content_order() call processes attacker-supplied tutor_topics_lessons_sorting 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.

Record
CVE-2026-3371
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
EUVDEUVD-2026-21615 4.3

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 save_course_content_order() private method, which is called unconditionally by the tutor_update_course_content_order AJAX handler. While the handler's content_parent branch includes a can_user_manage() check, the save_course_content_order() call processes attacker-supplied tutor_topics_lessons_sorting 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.

Record
EUVD-2026-21615
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-g495-hm74-5j37 4.3

The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to...

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 save_course_content_order() private method, which is called unconditionally by the tutor_update_course_content_order AJAX handler. While the handler's content_parent branch includes a can_user_manage() check, the save_course_content_order() call processes attacker-supplied tutor_topics_lessons_sorting 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.

Record
GHSA-g495-hm74-5j37
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
NVD 4.3

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 save_course_content_order() private method, which is called unconditionally by the tutor_update_course_content_order AJAX handler. While the handler's content_parent branch includes a can_user_manage() check, the save_course_content_order() call processes attacker-supplied tutor_topics_lessons_sorting 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.

Record
CVE-2026-3371
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02

Affected products

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-3371 is a medium vulnerability (CVSS 4.3) in Themeum Tutor Lms – Elearning And Online Course Solution, published April 11, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.37%, the 31st percentile. No source names a fixed version.

References

MoveEnter Open