Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Lifecycle Timeline
3DescriptionCVE.org
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.
AnalysisAI
Insecure Direct Object Reference in Tutor LMS WordPress plugin versions up to 3.9.7 allows authenticated Subscriber-level users to manipulate course content structure across any course by exploiting missing authorization checks in the save_course_content_order() method, enabling attackers to detach lessons from topics, reorder course content, and reassign lessons between courses without proper ownership verification.
Technical ContextAI
The vulnerability exists in the Tutor LMS plugin's AJAX handler tutor_update_course_content_order, which invokes the save_course_content_order() private method unconditionally. While the handler implements a can_user_manage() capability check for the content_parent branch, the save_course_content_order() method processes attacker-supplied tutor_topics_lessons_sorting JSON data without verifying course ownership or user capabilities. This represents a classic CWE-639 Authorization Bypass through User-Controlled Key pattern, where lesson and topic IDs supplied in the AJAX request are processed without validating that the authenticated user has legitimate authority over the target course. The affected plugin is identified via CPE as themeum:tutor_lms_-_elearning_and_online_course_solution, versions * through 3.9.7.
RemediationAI
Vendor-released patch: version 3.9.8 and later. Site administrators should update the Tutor LMS plugin to version 3.9.8 or higher immediately via the WordPress plugin dashboard or direct download from the official repository. The patched version adds proper authorization verification within the save_course_content_order() method to ensure only users with appropriate course ownership or capabilities can modify course content structure. For sites unable to update immediately, restrict Subscriber-level user registration or assign Subscriber roles only to trusted educators, and monitor AJAX activity logs for suspicious tutor_update_course_content_order requests; however, these mitigations are temporary and do not eliminate the underlying vulnerability. See https://plugins.trac.wordpress.org/changeset?old_path=%2Ftutor/tags/3.9.7&new_path=%2Ftutor/tags/3.9.8 for detailed patch information.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-21615