CVE-2024-3638
📋 TL;DR
This stored XSS vulnerability in the Elementor Addons by Livemesh WordPress plugin allows authenticated attackers with contributor-level access or higher to inject malicious scripts into web pages. The scripts execute when users visit compromised pages, potentially stealing session cookies, redirecting users, or performing actions on their behalf. All WordPress sites using this plugin up to version 8.3.7 are affected.
💻 Affected Systems
- Elementor Addons by Livemesh WordPress plugin
📦 What is this software?
Addons For Elementor by Livemeshelementor
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator session cookies, take over WordPress sites, install backdoors, deface websites, or redirect visitors to malicious sites.
Likely Case
Attackers with contributor accounts inject malicious scripts to steal user session data, display unwanted content, or redirect users to phishing pages.
If Mitigated
With proper user access controls and content security policies, impact is limited to minor content manipulation within the contributor's own posts.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once an attacker has contributor credentials. The vulnerability is in specific widget templates with insufficient output escaping.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 8.3.8
Vendor Advisory: https://wordpress.org/plugins/addons-for-elementor/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find 'Elementor Addons by Livemesh'. 4. Click 'Update Now' if available, or manually update to version 8.3.8+. 5. Clear any caching plugins/CDN caches.
🔧 Temporary Workarounds
Disable vulnerable widgets
allTemporarily disable the Marquee Text Widget, Testimonials Widget, and Testimonial Slider widgets in Elementor settings
Implement Content Security Policy
linuxAdd CSP headers to restrict script execution sources
Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https:;"
Or add to wp-config.php: header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https:");
🧯 If You Can't Patch
- Restrict contributor accounts: Review and remove unnecessary contributor-level users, implement strong password policies, and enable 2FA for all users.
- Implement WAF rules: Configure web application firewall to block XSS payloads in POST requests to WordPress admin-ajax.php and widget update endpoints.
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins → Elementor Addons by Livemesh version. If version is 8.3.7 or lower, you are vulnerable.
Check Version:
wp plugin list --name='Elementor Addons by Livemesh' --field=version (WP-CLI) or check wp-content/plugins/addons-for-elementor/readme.txt
Verify Fix Applied:
After updating, verify plugin version shows 8.3.8 or higher in WordPress admin plugins page.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to /wp-admin/admin-ajax.php with widget update actions
- Multiple failed login attempts followed by successful contributor login
- User agent strings containing XSS payload patterns in WordPress logs
Network Indicators:
- POST requests containing script tags or javascript: URIs in widget parameter fields
- Unusual outbound connections from your WordPress site after widget updates
SIEM Query:
source="wordpress.log" AND ("admin-ajax.php" AND ("marquee" OR "testimonial" OR "slider") AND ("<script" OR "javascript:" OR "onerror="))
🔗 References
- https://plugins.trac.wordpress.org/browser/addons-for-elementor/trunk/templates/addons/marquee-text/content.php#L24
- https://plugins.trac.wordpress.org/browser/addons-for-elementor/trunk/templates/addons/marquee-text/content.php#L28
- https://www.wordfence.com/threat-intel/vulnerabilities/id/58dfd766-7156-4aec-b8db-76908b775ba0?source=cve
- https://plugins.trac.wordpress.org/browser/addons-for-elementor/trunk/templates/addons/marquee-text/content.php#L24
- https://plugins.trac.wordpress.org/browser/addons-for-elementor/trunk/templates/addons/marquee-text/content.php#L28
- https://www.wordfence.com/threat-intel/vulnerabilities/id/58dfd766-7156-4aec-b8db-76908b775ba0?source=cve