CVE-2024-4697
📋 TL;DR
The Cowidgets – Elementor Addons WordPress plugin has a stored XSS vulnerability in versions up to 1.1.1. Authenticated attackers with contributor-level access or higher can inject malicious scripts via the 'heading_tag' parameter, which execute when users view affected pages. This affects all WordPress sites using the vulnerable plugin.
💻 Affected Systems
- Cowidgets – Elementor Addons WordPress plugin
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal admin credentials, deface websites, redirect users to malicious sites, or install backdoors for persistent access.
Likely Case
Attackers with contributor accounts inject malicious scripts to steal user session cookies or display phishing content to visitors.
If Mitigated
With proper input validation and output escaping, the vulnerability would be prevented, allowing only safe HTML rendering.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once an attacker has contributor privileges.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.1.2 or later
Vendor Advisory: https://plugins.trac.wordpress.org/browser/cowidgets-elementor-addons
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Cowidgets – Elementor Addons'. 4. Click 'Update Now' if available, or manually update via FTP. 5. Verify version is 1.1.2 or higher.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily deactivate the plugin until patched.
wp plugin deactivate cowidgets-elementor-addons
Restrict User Roles
allLimit contributor-level access to trusted users only.
🧯 If You Can't Patch
- Remove contributor access from untrusted users.
- Implement web application firewall (WAF) rules to block XSS payloads in 'heading_tag' parameter.
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin under Plugins > Installed Plugins. If version is 1.1.1 or lower, it's vulnerable.
Check Version:
wp plugin get cowidgets-elementor-addons --field=version
Verify Fix Applied:
Confirm plugin version is 1.1.2 or higher after update.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to WordPress admin-ajax.php with 'heading_tag' parameter containing script tags
- Multiple failed login attempts followed by successful contributor login
Network Indicators:
- HTTP requests with JavaScript in 'heading_tag' parameter
- Outbound connections to suspicious domains after page views
SIEM Query:
source="wordpress.log" AND "heading_tag" AND ("<script>" OR "javascript:")
🔗 References
- https://plugins.trac.wordpress.org/browser/cowidgets-elementor-addons/trunk/inc/widgets-manager/widgets/header/class-page-title.php#L418
- https://plugins.trac.wordpress.org/browser/cowidgets-elementor-addons/trunk/inc/widgets-manager/widgets/header/class-site-title.php#L423
- https://www.wordfence.com/threat-intel/vulnerabilities/id/beb28e9e-bf6a-4eed-afbc-ca85ec489df7?source=cve
- https://plugins.trac.wordpress.org/browser/cowidgets-elementor-addons/trunk/inc/widgets-manager/widgets/header/class-page-title.php#L418
- https://plugins.trac.wordpress.org/browser/cowidgets-elementor-addons/trunk/inc/widgets-manager/widgets/header/class-site-title.php#L423
- https://www.wordfence.com/threat-intel/vulnerabilities/id/beb28e9e-bf6a-4eed-afbc-ca85ec489df7?source=cve