CVE-2024-10008

8.8 HIGH

📋 TL;DR

The Masteriyo LMS WordPress plugin has an authorization vulnerability that allows authenticated users with student-level access or higher to modify user roles via the REST API. Attackers can escalate their own privileges to Administrator or demote existing administrators to student roles. All WordPress sites using Masteriyo LMS versions up to 1.13.3 are affected.

💻 Affected Systems

Products:
  • Masteriyo LMS – eLearning and Online Course Builder for WordPress
Versions: All versions up to and including 1.13.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress REST API to be enabled (default) and at least one user account with student-level access or higher.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover where attackers gain administrator access, install backdoors, steal sensitive data, and disrupt operations by demoting legitimate administrators.

🟠

Likely Case

Attackers escalate their own privileges to administrator, then install malicious plugins/themes, modify content, or access sensitive user data.

🟢

If Mitigated

With proper network segmentation and monitoring, unauthorized privilege escalation attempts are detected and blocked before significant damage occurs.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward via REST API calls. Student-level access is sufficient, which attackers can obtain through registration or compromised accounts.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.13.4 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/learning-management-system/tags/1.13.4

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

Disable REST API endpoint

all

Block access to the vulnerable /wp-json/masteriyo/v1/users/ endpoint using web server rules or WordPress filters.

Add to .htaccess (Apache): RewriteRule ^wp-json/masteriyo/v1/users/.*$ - [F,L]
Add to nginx config: location ~* ^/wp-json/masteriyo/v1/users/ { deny all; }

Restrict user registration

all

Temporarily disable new user registration to prevent attackers from obtaining student accounts.

WordPress Settings → General → Membership: Uncheck 'Anyone can register'

🧯 If You Can't Patch

  • Disable the Masteriyo LMS plugin entirely until patched
  • Implement strict network access controls to limit REST API access to trusted IPs only

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Masteriyo LMS version. If version is 1.13.3 or lower, system is vulnerable.

Check Version:

wp plugin list --name=masteriyo --field=version (if WP-CLI installed)

Verify Fix Applied:

After updating, verify version shows 1.13.4 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-json/masteriyo/v1/users/ with user ID parameter
  • User role changes in WordPress user audit logs
  • Multiple failed login attempts followed by successful student login

Network Indicators:

  • REST API calls modifying user roles from unexpected IP addresses
  • Sudden increase in API requests to user endpoints

SIEM Query:

source="web_access_logs" AND uri_path="/wp-json/masteriyo/v1/users/" AND (http_method="POST" OR http_method="PUT")

🔗 References

📤 Share & Export