CVE-2024-5084
📋 TL;DR
The Hash Form WordPress plugin allows unauthenticated attackers to upload arbitrary files due to missing file type validation. This vulnerability affects all versions up to 1.1.0 and can lead to remote code execution on vulnerable WordPress sites.
💻 Affected Systems
- Hash Form – Drag & Drop Form Builder WordPress plugin
📦 What is this software?
Hash Form by Hashthemes
⚠️ Risk & Real-World Impact
Worst Case
Complete server compromise via remote code execution, allowing attackers to install malware, steal data, or create backdoors.
Likely Case
Attackers upload web shells to gain persistent access, deface websites, or use servers for malicious activities.
If Mitigated
File uploads blocked or restricted to safe file types only, preventing code execution.
🎯 Exploit Status
Simple file upload bypass with no authentication required, making exploitation trivial.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.1.1
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3090341/
Restart Required: No
Instructions:
1. Update Hash Form plugin to version 1.1.1 or later via WordPress admin panel. 2. Verify update completed successfully. 3. Test file upload functionality.
🔧 Temporary Workarounds
Disable plugin
allTemporarily disable Hash Form plugin until patched
wp plugin deactivate hash-form
Restrict file uploads
linuxBlock file uploads via web application firewall or .htaccess
# Add to .htaccess: RewriteRule ^wp-content/plugins/hash-form/.*\.(php|phtml|php3|php4|php5|php7|phps)$ - [F,L]
🧯 If You Can't Patch
- Remove plugin entirely if not essential
- Implement strict file upload filtering at web server level
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin > Plugins > Hash Form version. If version ≤ 1.1.0, vulnerable.
Check Version:
wp plugin get hash-form --field=version
Verify Fix Applied:
Verify plugin version is 1.1.1 or higher and test file upload with malicious extensions.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to hash-form plugin directory
- PHP files with suspicious names in uploads
Network Indicators:
- POST requests to /wp-admin/admin-ajax.php with file upload parameters
SIEM Query:
source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND action="file_upload_action" AND file_extension IN ("php", "phtml", "php3")
🔗 References
- https://plugins.trac.wordpress.org/browser/hash-form/trunk/admin/classes/HashFormBuilder.php#L764
- https://plugins.trac.wordpress.org/changeset/3090341/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/eef9e2fa-d8f0-42bf-95ac-ee4cafff0b14?source=cve
- https://plugins.trac.wordpress.org/browser/hash-form/trunk/admin/classes/HashFormBuilder.php#L764
- https://plugins.trac.wordpress.org/changeset/3090341/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/eef9e2fa-d8f0-42bf-95ac-ee4cafff0b14?source=cve