CVE-2024-7145
📋 TL;DR
The JetElements WordPress plugin contains a Local File Inclusion vulnerability that allows authenticated attackers with Contributor-level access or higher to include and execute arbitrary PHP files on the server. This can lead to remote code execution, data theft, and privilege escalation. All WordPress sites using JetElements version 2.6.20 or earlier are affected.
💻 Affected Systems
- JetElements for WordPress
📦 What is this software?
Jetelements by Crocoblock
⚠️ Risk & Real-World Impact
Worst Case
Complete server compromise leading to data exfiltration, ransomware deployment, or persistent backdoor installation
Likely Case
Unauthorized code execution leading to website defacement, credential theft, or installation of web shells
If Mitigated
Limited impact if proper file upload restrictions and server hardening are in place
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once credentials are obtained
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.6.21 or later
Vendor Advisory: https://crocoblock.com/plugins/jetelements/
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find JetElements and click 'Update Now'
4. Verify version is 2.6.21 or higher
🔧 Temporary Workarounds
Disable JetElements Plugin
allTemporarily disable the vulnerable plugin until patched
wp plugin deactivate jetelements
Restrict File Uploads
linuxBlock PHP file uploads via web server configuration
<FilesMatch "\.php$">
Deny from all
</FilesMatch>
🧯 If You Can't Patch
- Implement strict file upload validation to block PHP files
- Apply principle of least privilege by reducing Contributor role permissions
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → JetElements version number
Check Version:
wp plugin get jetelements --field=version
Verify Fix Applied:
Confirm JetElements version is 2.6.21 or higher in WordPress admin
📡 Detection & Monitoring
Log Indicators:
- Unusual file inclusion attempts in web server logs
- POST requests to /wp-admin/admin-ajax.php with progress_type parameter
Network Indicators:
- HTTP requests with file path traversal in parameters
- Unexpected PHP file execution from upload directories
SIEM Query:
source="web_server" AND (uri_path="*admin-ajax.php*" AND query="*progress_type=*" AND NOT query="*progress_type=circle*")