CVE-2025-28883
📋 TL;DR
A Cross-Site Request Forgery (CSRF) vulnerability in the Martin WP Compare Tables WordPress plugin allows attackers to perform stored cross-site scripting (XSS) attacks. This affects WordPress sites using WP Compare Tables plugin versions up to 1.0.5. Attackers can trick authenticated administrators into executing malicious actions that inject persistent scripts.
💻 Affected Systems
- Martin WP Compare Tables WordPress Plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could inject malicious JavaScript that steals administrator credentials, redirects users to malicious sites, or takes full control of the WordPress site through persistent XSS payloads.
Likely Case
Attackers create fake forms or links that trick logged-in administrators into unknowingly submitting malicious requests, leading to stored XSS payloads being injected into the site.
If Mitigated
With proper CSRF tokens and input validation, the vulnerability would be prevented as legitimate requests would be properly authenticated and sanitized.
🎯 Exploit Status
Exploitation requires social engineering to trick authenticated users. The CSRF leads to stored XSS, making it a two-stage attack.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version after 1.0.5
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'WP Compare Tables'. 4. Click 'Update Now' if update available. 5. If no update, deactivate and delete plugin, then install latest version from WordPress repository.
🔧 Temporary Workarounds
Implement CSRF Protection
allAdd CSRF tokens to all forms and AJAX requests in the plugin code
Input Sanitization
allImplement proper input validation and output escaping for all user inputs
🧯 If You Can't Patch
- Deactivate and remove the WP Compare Tables plugin immediately
- Implement web application firewall (WAF) rules to block CSRF attempts and XSS payloads
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for WP Compare Tables version. If version is 1.0.5 or earlier, you are vulnerable.
Check Version:
wp plugin list --name='wp-compare-tables' --field=version
Verify Fix Applied:
After updating, verify the plugin version is higher than 1.0.5 in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to wp-admin/admin-ajax.php with compare table parameters
- Multiple failed CSRF token validations
- Suspicious JavaScript injection in database content
Network Indicators:
- Unexpected form submissions from external sites to WordPress admin endpoints
- Traffic patterns showing CSRF exploitation attempts
SIEM Query:
source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND parameters CONTAINS "compare_table")