CVE-2024-4279

6.5 MEDIUM

📋 TL;DR

This vulnerability allows authenticated attackers with Instructor-level permissions or higher in Tutor LMS WordPress plugin to delete any course without proper authorization. It affects WordPress sites using Tutor LMS versions up to 2.7.0. The issue stems from missing validation on user-controlled parameters in the course deletion function.

💻 Affected Systems

Products:
  • Tutor LMS – eLearning and online course solution WordPress plugin
Versions: Up to and including 2.7.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with Tutor LMS plugin and at least one user with Instructor role or higher.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious instructors could delete all courses on the platform, causing complete loss of educational content and business disruption.

🟠

Likely Case

Disgruntled or compromised instructors delete courses they shouldn't have access to, causing content loss and requiring restoration from backups.

🟢

If Mitigated

With proper access controls and monitoring, unauthorized deletions are prevented or quickly detected and rolled back.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access with Instructor permissions. The vulnerability is straightforward to exploit once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.7.1

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3086489/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Tutor LMS plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 2.7.1+ from WordPress.org and manually update.

🔧 Temporary Workarounds

Remove Instructor permissions temporarily

all

Temporarily downgrade all Instructor users to lower privilege roles until patching is complete.

Disable course deletion functionality

all

Use WordPress hooks to disable the vulnerable tutor_course_delete function.

Add to theme's functions.php or custom plugin: add_filter('tutor_course_delete', '__return_false');

🧯 If You Can't Patch

  • Implement strict access controls and monitor all course deletion activities
  • Regularly backup course content and maintain restore procedures

🔍 How to Verify

Check if Vulnerable:

Check Tutor LMS plugin version in WordPress admin under Plugins → Installed Plugins. If version is 2.7.0 or lower, you are vulnerable.

Check Version:

wp plugin list --name=tutor --field=version

Verify Fix Applied:

After updating, verify Tutor LMS version is 2.7.1 or higher. Test course deletion with Instructor role to ensure proper authorization checks.

📡 Detection & Monitoring

Log Indicators:

  • Multiple course deletion events from single instructor account
  • Course deletions outside normal business hours
  • Deletion of courses not owned by the deleting user

Network Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action=tutor_course_delete
  • Unusual pattern of course deletion API calls

SIEM Query:

source="wordpress" AND (action="tutor_course_delete" OR message="*course*deleted*") | stats count by user, src_ip

🔗 References

📤 Share & Export