Tutor LMS – eLearning and online course solution: Cross-site request forgery
Tutor LMS – eLearning and online course solution is affected by cross-site request forgery. Exploitation requires an authenticated subscriber account. Exploitation relies on a signed-in privileged user submitting an attacker-controlled request. The published affected range is <= 3.9.8.
- Component
- Tutor LMS – eLearning and online course solution
- Plugin slug
tutor- Affected
- <= 3.9.8
- Safe version
- See mitigation notes
- Published
- Apr 17, 2026
- Weakness
- CWE-862 — Missing Authorization
This CVE was published Apr 17, 2026 and is one of 46 known issues for this plugin.
Update, patch or deactivate.
No fixed release is identified. Update Tutor LMS – eLearning and online course solution when a release after 3.9.8 becomes available; until then, disable and remove it when the site's risk warrants. The official upstream changelog lists version 4.0.5, which is newer than the published affected range. Its changelog does not clearly confirm this specific fix, so it is not counted as a known-safe release.
No confirmed safe version is listed. Consider a vendor-supported patch or temporarily restricting the affected functionality while you assess the risk.
Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.
Technical description
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to unauthorized course content manipulation in versions up to and including 3.9.8. This is due to a missing authorization check in the tutor_update_course_content_order() function. The function only validates the nonce (CSRF protection) but does not verify whether the user has permission to manage course content. The can_user_manage() authorization check only executes when the 'content_parent' parameter is present in the request. When this parameter is omitted, the function proceeds directly to save_course_content_order() which manipulates the wp_posts table without any authorization validation. This makes it possible for authenticated attackers with subscriber-level access and above to detach all lessons from any topic, move lessons between topics, and modify the menu_order of course content, effectively allowing them to disrupt the structure of any course on the site.
CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Primary and upstream sources
- NVD record for CVE-2026-5502
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- WordPress upstream reference plugins.trac.wordpress.org
- Wordfence advisory wordfence.com