CVE-2020-11511
📋 TL;DR
This vulnerability in the LearnPress WordPress plugin allows remote attackers to escalate any user's privileges to 'LP Instructor' role via the 'accept-to-be-teacher' action parameter. This affects WordPress sites running LearnPress versions before 3.2.6.9. Attackers can exploit this without authentication to gain elevated privileges.
💻 Affected Systems
- WordPress LearnPress Plugin
📦 What is this software?
Learnpress by Thimpress
⚠️ Risk & Real-World Impact
Worst Case
Complete site compromise where attackers gain instructor privileges, potentially leading to data theft, content manipulation, or further privilege escalation to administrator.
Likely Case
Attackers gain instructor-level access allowing them to create/manage courses, access student data, and potentially pivot to other attacks.
If Mitigated
Minimal impact if proper access controls and monitoring are in place to detect privilege escalation attempts.
🎯 Exploit Status
Exploit requires sending crafted HTTP request to vulnerable endpoint. Public exploit code available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.2.6.9 and later
Vendor Advisory: https://wordpress.org/plugins/learnpress/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find LearnPress plugin. 4. Click 'Update Now' if update available. 5. Alternatively, download version 3.2.6.9+ from WordPress repository and manually update.
🔧 Temporary Workarounds
Disable LearnPress Plugin
allTemporarily disable the vulnerable plugin until patched
wp plugin deactivate learnpress
Web Application Firewall Rule
allBlock requests containing the exploit parameter
Add WAF rule to block requests containing 'accept-to-be-teacher' parameter
🧯 If You Can't Patch
- Implement strict network access controls to limit access to WordPress admin areas
- Enable detailed logging and monitoring for privilege escalation attempts
🔍 How to Verify
Check if Vulnerable:
Check LearnPress plugin version in WordPress admin panel under Plugins → Installed Plugins
Check Version:
wp plugin get learnpress --field=version
Verify Fix Applied:
Verify LearnPress version is 3.2.6.9 or higher after update
📡 Detection & Monitoring
Log Indicators:
- HTTP requests containing 'accept-to-be-teacher' parameter
- User role changes from subscriber/contributor to instructor
Network Indicators:
- POST requests to /wp-admin/admin-ajax.php with suspicious parameters
- Unusual privilege escalation patterns
SIEM Query:
source="wordpress.log" AND "accept-to-be-teacher" OR (event="user_role_change" AND new_role="lp_teacher")
🔗 References
- http://packetstormsecurity.com/files/163538/WordPress-LearnPress-Privilege-Escalation.html
- https://cwe.mitre.org/data/definitions/862.html
- https://wordpress.org/plugins/learnpress/#developers
- https://www.wordfence.com/blog/2020/04/high-severity-vulnerabilities-patched-in-learnpress/
- http://packetstormsecurity.com/files/163538/WordPress-LearnPress-Privilege-Escalation.html
- https://cwe.mitre.org/data/definitions/862.html
- https://wordpress.org/plugins/learnpress/#developers
- https://www.wordfence.com/blog/2020/04/high-severity-vulnerabilities-patched-in-learnpress/