CVE-2024-35644
📋 TL;DR
This DOM-based XSS vulnerability in the WordPress Preferred Languages plugin allows attackers to inject malicious scripts that execute in users' browsers when they visit compromised pages. It affects all WordPress sites using Preferred Languages plugin versions up to 2.2.2. Attackers could steal session cookies, redirect users, or perform actions on their behalf.
💻 Affected Systems
- WordPress Preferred Languages 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 steal administrator session cookies, gain full control of WordPress site, install backdoors, deface website, or pivot to internal network.
Likely Case
Attackers steal user session cookies, redirect to phishing sites, or perform limited actions within WordPress interface.
If Mitigated
With proper Content Security Policy and input validation, impact limited to specific plugin functionality.
🎯 Exploit Status
DOM-based XSS requires specific user interaction and knowledge of vulnerable endpoints. No public exploit code identified.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.2.3 or later
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Preferred Languages plugin. 4. Click 'Update Now' if update available. 5. Alternatively, download version 2.2.3+ from WordPress repository and replace plugin files.
🔧 Temporary Workarounds
Disable Preferred Languages Plugin
allTemporarily disable the vulnerable plugin until patched
wp plugin deactivate preferred-languages
Implement Content Security Policy
allAdd CSP headers to mitigate XSS impact
Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to nginx config: add_header Content-Security-Policy "default-src 'self'; script-src 'self'";
🧯 If You Can't Patch
- Implement web application firewall (WAF) with XSS protection rules
- Disable JavaScript execution in plugin-admin areas using browser extensions or policies
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins → Preferred Languages version. If version ≤2.2.2, vulnerable.
Check Version:
wp plugin get preferred-languages --field=version
Verify Fix Applied:
Verify Preferred Languages plugin version is ≥2.2.3 in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST/GET requests to preferred-languages endpoints
- JavaScript payloads in URL parameters or form submissions
Network Indicators:
- Malicious script tags in HTTP requests to WordPress admin-ajax.php or plugin-specific endpoints
SIEM Query:
source="wordpress.log" AND ("preferred-languages" OR "preferred_languages") AND ("script" OR "javascript:" OR "onerror=" OR "onload=")