CVE-2023-3077
📋 TL;DR
This vulnerability allows unauthenticated attackers to perform blind SQL injection attacks on WordPress sites using the MStore API plugin before version 3.9.8. The attack is only possible if the site owner has purchased pro features and also uses the woocommerce-appointments plugin. Successful exploitation could lead to database compromise and data theft.
💻 Affected Systems
- MStore API WordPress plugin
📦 What is this software?
Mstore Api by Inspireui
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise allowing data exfiltration, privilege escalation, and potential remote code execution through database functions.
Likely Case
Data theft from the WordPress database including user credentials, payment information, and appointment details.
If Mitigated
No impact if proper input validation and parameterized queries are implemented.
🎯 Exploit Status
Blind SQL injection requires time-based or boolean-based techniques but is well-documented and automated tools exist.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.9.8
Vendor Advisory: https://wpscan.com/vulnerability/9480d0b5-97da-467d-98f6-71a32599a432
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find MStore API plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 3.9.8+ from WordPress repository and manually update.
🔧 Temporary Workarounds
Disable vulnerable plugin
linuxTemporarily disable MStore API plugin until patched
wp plugin deactivate mstore-api
Web Application Firewall rule
allBlock SQL injection patterns targeting MStore API endpoints
🧯 If You Can't Patch
- Implement strict input validation and parameterized queries in custom code
- Deploy web application firewall with SQL injection protection rules
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → MStore API version. If version is below 3.9.8 and both pro features and woocommerce-appointments are active, site is vulnerable.
Check Version:
wp plugin get mstore-api --field=version
Verify Fix Applied:
Confirm MStore API plugin version is 3.9.8 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL queries in WordPress debug logs
- Multiple failed login attempts from single IP
- Long response times from API endpoints suggesting time-based SQLi
Network Indicators:
- HTTP requests with SQL injection payloads to /wp-json/mstore/* endpoints
- Unusual database connection patterns
SIEM Query:
source="wordpress.log" AND ("SQL syntax" OR "mysql_error" OR "wp_mstore")