CVE-2023-6567
📋 TL;DR
This vulnerability allows unauthenticated attackers to perform time-based SQL injection attacks on WordPress sites using the LearnPress plugin. Attackers can extract sensitive database information by manipulating the 'order_by' parameter. All WordPress sites with LearnPress versions up to 4.2.5.7 are affected.
💻 Affected Systems
- WordPress LearnPress plugin
📦 What is this software?
Learnpress by Thimpress
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including user credentials, payment information, and sensitive site data leading to full site takeover.
Likely Case
Extraction of user data, admin credentials, and potentially sensitive plugin-specific information from the database.
If Mitigated
Limited information disclosure if database permissions are properly restricted and WAF blocks injection attempts.
🎯 Exploit Status
Time-based SQL injection requires no authentication and has public proof-of-concept available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 4.2.5.8 and later
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3013957/learnpress
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find LearnPress and click 'Update Now'. 4. Verify version is 4.2.5.8 or higher.
🔧 Temporary Workarounds
Temporary plugin deactivation
allDisable LearnPress plugin until patched
wp plugin deactivate learnpress
WAF rule implementation
allBlock SQL injection patterns in 'order_by' parameter
🧯 If You Can't Patch
- Implement web application firewall (WAF) with SQL injection protection
- Restrict database user permissions to minimum required
🔍 How to Verify
Check if Vulnerable:
Check LearnPress version in WordPress admin panel under Plugins → Installed Plugins
Check Version:
wp plugin get learnpress --field=version
Verify Fix Applied:
Confirm LearnPress version is 4.2.5.8 or higher after update
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL errors in WordPress logs
- Multiple requests with 'order_by' parameter variations
- Long response times on LearnPress pages
Network Indicators:
- SQL injection patterns in HTTP parameters
- SLEEP() or BENCHMARK() functions in requests
SIEM Query:
source="wordpress.log" AND ("order_by" AND (SLEEP OR BENCHMARK OR WAITFOR))
🔗 References
- https://plugins.trac.wordpress.org/changeset/3013957/learnpress
- https://www.wordfence.com/threat-intel/vulnerabilities/id/6ab578cd-3a0b-43d3-aaa7-0a01f431a4e2?source=cve
- https://plugins.trac.wordpress.org/changeset/3013957/learnpress
- https://www.wordfence.com/threat-intel/vulnerabilities/id/6ab578cd-3a0b-43d3-aaa7-0a01f431a4e2?source=cve