
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-3371 is an Insecure Direct Object Reference (IDOR) vulnerability in the Tutor LMS – eLearning and online course solution plugin for WordPress, affecting all versions up to and including 3.9.7. The flaw allows authenticated attackers with Subscriber-level access or above to manipulate course content structure — including reordering lessons, detaching lessons from topics, and reassigning lessons between topics — across any course, including those owned by administrators. It was published on April 11, 2026, with a patch released in version 3.9.8. The vulnerability carries a CVSS v3.1 base score of 4.3 (Medium) (GitHub Advisory).
The root cause is a missing authorization check (CWE-639: Authorization Bypass Through User-Controlled Key) in the save_course_content_order() private method within classes/Course.php. This method is called unconditionally by the tutor_update_course_content_order AJAX handler, which processes attacker-supplied tutor_topics_lessons_sorting JSON data without verifying ownership or user capability. While the handler's content_parent branch does include a can_user_manage() check, the save_course_content_order() invocation path bypasses this check entirely, allowing any authenticated user to supply arbitrary topic and lesson IDs via a crafted AJAX request (GitHub Advisory).
Successful exploitation allows authenticated low-privilege users (Subscriber-level or above) to arbitrarily reorder course content, detach lessons from their assigned topics, and reassign lessons between topics in any course on the WordPress site — including courses owned by administrators. While there is no confidentiality or availability impact, the integrity of course content across the entire platform can be disrupted, potentially degrading the learning experience and undermining course structure for all enrolled students (GitHub Advisory).
/wp-content/plugins/tutor/readme.txt) or observing LMS-specific page structures./wp-admin/admin-ajax.php) with the action tutor_update_course_content_order and a manipulated tutor_topics_lessons_sorting JSON payload containing arbitrary topic and lesson IDs from any course.save_course_content_order() method processes the payload without ownership or capability verification, applying the attacker-specified ordering and topic assignments./wp-admin/admin-ajax.php with action=tutor_update_course_content_order originating from low-privilege user accounts or unexpected IP addresses.admin-ajax.php with the tutor_update_course_content_order action from Subscriber-level users; unexpected changes to course content ordering timestamps in the database.The vulnerability is patched in Tutor LMS version 3.9.8. All users running version 3.9.7 or earlier should upgrade to 3.9.8 or later immediately via the WordPress plugin dashboard or the WordPress plugin repository. As a post-upgrade measure, administrators should audit course content structure for unauthorized modifications and review user roles to ensure the principle of least privilege is applied. Monitoring AJAX requests targeting the tutor_update_course_content_order handler can help detect any exploitation attempts (GitHub Advisory).
Sucuri included CVE-2026-3371 in their April 2026 vulnerability patch roundup, highlighting it as part of a broader set of WordPress plugin issues requiring attention. Wordfence also tracked the vulnerability in their threat intelligence database. General community reaction has been muted given the medium severity rating and lack of public exploit code.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."