CVE-2023-2732
📋 TL;DR
The MStore API plugin for WordPress has an authentication bypass vulnerability that allows unauthenticated attackers to log in as any existing user, including administrators, by exploiting insufficient verification in the add listing REST API endpoint. This affects all WordPress sites using MStore API plugin versions up to and including 3.9.2. Attackers only need access to a target user's ID to exploit this vulnerability.
💻 Affected Systems
- WordPress MStore API plugin
📦 What is this software?
Mstore Api by Inspireui
⚠️ Risk & Real-World Impact
Worst Case
Complete site takeover where attackers gain administrative access, install backdoors, steal sensitive data, deface the site, or use it for further attacks.
Likely Case
Attackers gain administrative privileges and compromise the WordPress site, potentially leading to data theft, malware installation, or site defacement.
If Mitigated
Limited impact if strong network controls prevent external access to the vulnerable endpoint or if additional authentication layers exist.
🎯 Exploit Status
Exploitation requires only knowledge of a target user ID and access to the vulnerable REST API endpoint. The vulnerability is well-documented with public proof-of-concept details available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.9.3 or later
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.3+ from WordPress plugin repository and manually update.
🔧 Temporary Workarounds
Disable MStore API plugin
allTemporarily deactivate the vulnerable plugin until patching is possible
wp plugin deactivate mstore-api
Restrict REST API access
linuxUse web application firewall or .htaccess to block access to the vulnerable endpoint
# Add to .htaccess: RewriteRule ^wp-json/mstore-api/ - [F,L]
🧯 If You Can't Patch
- Implement network-level restrictions to block external access to the WordPress REST API endpoints
- Enable additional authentication layers such as two-factor authentication for all user accounts
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → MStore API version. If version is 3.9.2 or lower, the site is vulnerable.
Check Version:
wp plugin get mstore-api --field=version
Verify Fix Applied:
Verify MStore API plugin version is 3.9.3 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual authentication attempts via REST API
- Multiple failed login attempts followed by successful admin login from new IP
- POST requests to /wp-json/mstore-api/ endpoints with user_id parameter
Network Indicators:
- Unusual traffic patterns to WordPress REST API endpoints
- POST requests to mstore-api endpoints from unauthenticated sources
SIEM Query:
source="wordpress.log" AND (uri_path="/wp-json/mstore-api/" OR user_agent="*mstore*" OR message="*authentication*bypass*")
🔗 References
- https://plugins.trac.wordpress.org/browser/mstore-api/tags/3.9.0/controllers/listing-rest-api/class.api.fields.php#L1079
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=2916124%40mstore-api&old=2915729%40mstore-api&sfp_email=&sfph_mail=#file58
- https://www.wordfence.com/threat-intel/vulnerabilities/id/f00761a7-fe24-49a3-b3e3-a471e05815c1?source=cve
- https://plugins.trac.wordpress.org/browser/mstore-api/tags/3.9.0/controllers/listing-rest-api/class.api.fields.php#L1079
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&new=2916124%40mstore-api&old=2915729%40mstore-api&sfp_email=&sfph_mail=#file58
- https://www.wordfence.com/threat-intel/vulnerabilities/id/f00761a7-fe24-49a3-b3e3-a471e05815c1?source=cve