CVE-2024-2047
📋 TL;DR
The ElementsKit Elementor addons plugin for WordPress has a Local File Inclusion vulnerability in the render_raw function. This allows authenticated attackers with contributor-level access or higher to include and execute arbitrary PHP files on the server, potentially leading to remote code execution. All WordPress sites using ElementsKit versions up to 3.0.6 are affected.
💻 Affected Systems
- ElementsKit Elementor addons plugin for WordPress
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Full server compromise through arbitrary PHP code execution, data exfiltration, backdoor installation, and complete site takeover.
Likely Case
Unauthorized file access, privilege escalation, data theft, and limited code execution through uploaded files.
If Mitigated
Limited impact if proper file upload restrictions and server hardening are in place, but still significant risk.
🎯 Exploit Status
Exploitation requires contributor-level access. Attack chain may involve file upload capabilities to deliver malicious PHP files.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.0.7
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3054091/elementskit-lite/tags/3.0.7/widgets/testimonial/testimonial.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find ElementsKit and click 'Update Now'. 4. Verify version is 3.0.7 or higher.
🔧 Temporary Workarounds
Disable vulnerable testimonial widget
allTemporarily disable the testimonial widget that contains the vulnerable render_raw function
Restrict file uploads
linuxConfigure server to block PHP file uploads and restrict allowed file types
# In .htaccess for Apache:
<FilesMatch "\.(php|php5|php7|phtml|phar)$">
Order Deny,Allow
Deny from all
</FilesMatch>
# In nginx config:
location ~ \.php$ {
deny all;
}
🧯 If You Can't Patch
- Remove contributor role from untrusted users and review all user accounts with elevated privileges
- Implement web application firewall rules to block local file inclusion patterns and suspicious file uploads
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → ElementsKit version. If version is 3.0.6 or lower, you are vulnerable.
Check Version:
# In WordPress root directory:
grep "Version:" wp-content/plugins/elementskit-lite/elementskit-lite.php
Verify Fix Applied:
After updating, verify ElementsKit version shows 3.0.7 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual file inclusion patterns in PHP error logs
- Multiple failed file inclusion attempts from same user
- Unexpected PHP file execution in uploads directory
Network Indicators:
- HTTP requests with suspicious file path parameters
- POST requests attempting to upload PHP files
SIEM Query:
source="web_server_logs" AND (uri="*render_raw*" OR uri="*testimonial.php*") AND (params="*../*" OR params="*php://*" OR params="*file=*")
🔗 References
- https://plugins.trac.wordpress.org/browser/elementskit-lite/tags/3.0.5/widgets/testimonial/testimonial.php#L2458
- https://plugins.trac.wordpress.org/changeset/3054091/elementskit-lite/tags/3.0.7/widgets/testimonial/testimonial.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/413e6326-14c6-4734-8adc-114a7842c574?source=cve
- https://plugins.trac.wordpress.org/browser/elementskit-lite/tags/3.0.5/widgets/testimonial/testimonial.php#L2458
- https://plugins.trac.wordpress.org/changeset/3054091/elementskit-lite/tags/3.0.7/widgets/testimonial/testimonial.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/413e6326-14c6-4734-8adc-114a7842c574?source=cve