CVE-2023-1669
📋 TL;DR
The SEOPress WordPress plugin before version 6.5.0.3 contains a PHP Object Injection vulnerability due to unsafe deserialization of user-controlled input in settings. This allows authenticated administrators (or other users with similar high privileges) to execute arbitrary code when a suitable gadget chain is present. Only WordPress sites running vulnerable SEOPress plugin versions are affected.
💻 Affected Systems
- SEOPress WordPress Plugin
📦 What is this software?
Seopress by Seopress
⚠️ Risk & Real-World Impact
Worst Case
Full remote code execution leading to complete site compromise, data theft, malware installation, or site defacement.
Likely Case
Privilege escalation, arbitrary code execution within the WordPress context, or data manipulation by malicious administrators.
If Mitigated
Limited impact if proper access controls restrict admin privileges to trusted users only.
🎯 Exploit Status
Exploitation requires admin access and knowledge of suitable PHP gadget chains.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 6.5.0.3
Vendor Advisory: https://wpscan.com/vulnerability/fb8791f5-2879-431e-9afc-06d5839e4b9d
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find SEOPress and click 'Update Now'. 4. Verify version is 6.5.0.3 or later.
🔧 Temporary Workarounds
Disable SEOPress Plugin
linuxTemporarily disable the vulnerable plugin until patching is possible.
wp plugin deactivate seopress
Restrict Admin Access
allLimit administrative accounts to essential personnel only.
🧯 If You Can't Patch
- Implement strict access controls to limit admin privileges to trusted users only.
- Monitor admin user activity and audit logs for suspicious behavior.
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for SEOPress version.
Check Version:
wp plugin list --name=seopress --field=version
Verify Fix Applied:
Confirm SEOPress version is 6.5.0.3 or higher in WordPress admin.
📡 Detection & Monitoring
Log Indicators:
- Unusual admin user activity
- POST requests to SEOPress settings endpoints with serialized data
- PHP errors related to unserialize()
Network Indicators:
- HTTP requests containing serialized PHP objects in POST data to /wp-admin/admin.php?page=seopress-*
SIEM Query:
source="wordpress" AND (uri_path="/wp-admin/admin.php" AND query_string="page=seopress-*") AND http_method="POST" AND (body="O:" OR body="a:")