CVE-2026-88944: Tutor LMS <= 4.0.8 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Post Deletion via 'lesson_id' Parameter
The Tutor LMS – eLearning and online course solution plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.0.8. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to permanently delete arbitrary WordPress posts — including pages, courses, quizzes, and WooCommerce products — via wpdeletepost( $id, true ). The exploit chain requires the attacker to first trigger the profile-photo upload flow to obtain an authored wpposts attachment row, then create a Tutor topic reparented to that attachment, before invoking the lesson deletion handler against any target post ID.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Tutor LMS (eLearning and online course solution plugin for WordPress)to a version that resolves this vulnerability.Fixed in 4.0.8 - Configuration
Update Tutor LMS to a version that properly verifies authorization before invoking the lesson deletion handler that deletes posts based on a 'lesson_id'/'post ID' parameter; ensure authorization checks cover whether the user can delete the specific target post (not just that they are authenticated).
WordPress lesson deletion handler authorization (Tutor LMS) = Ensure subscriber-level users are denied unless explicitly authorized for the target post ID
Event History
Frequently Asked Questions
Which users can exploit this issue?
Any authenticated user with Subscriber-level access or higher can exploit it. The attacker does not need administrator or editor privileges.
What does an attacker need to do before deleting a target post?
They must first use the profile-photo upload flow to create an attachment row in wp_posts that they authored. They then create a Tutor topic reparented to that attachment before calling the lesson deletion handler with the target post ID.
What content can be deleted?
The vulnerable deletion path can permanently delete arbitrary WordPress posts. This includes pages, Tutor courses and quizzes, and WooCommerce products.
Are deleted posts recoverable through this vulnerable action?
No. The affected code calls wp_delete_post with the force-delete argument enabled, so the targeted post is permanently deleted rather than moved to the trash.