CVE-2024-3022
📋 TL;DR
The BookingPress WordPress plugin allows authenticated administrators to upload arbitrary files due to insufficient filename validation. This vulnerability enables remote code execution on affected WordPress sites. Only sites running BookingPress versions up to 1.0.87 are impacted.
💻 Affected Systems
- BookingPress Appointment Booking WordPress Plugin
📦 What is this software?
Bookingpress by Reputeinfosystems
⚠️ Risk & Real-World Impact
Worst Case
Full server compromise leading to data theft, malware deployment, or complete site takeover.
Likely Case
Unauthorized file upload leading to backdoor installation and persistent access.
If Mitigated
Limited impact if proper file permissions and web application firewalls are in place.
🎯 Exploit Status
Exploitation requires administrator credentials but is straightforward once obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.0.88 and later
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3061435/bookingpress-appointment-booking/trunk/core/classes/class.bookingpress_fileupload_class.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find BookingPress and click 'Update Now'. 4. Verify version is 1.0.88 or higher.
🔧 Temporary Workarounds
Disable BookingPress Plugin
allTemporarily disable the vulnerable plugin until patched.
wp plugin deactivate bookingpress-appointment-booking
Restrict File Uploads via .htaccess
linuxBlock execution of uploaded files in the uploads directory.
<FilesMatch "\.(php|phtml|php3|php4|php5|php7|phps|php8|inc|pl|py|jsp|asp|htm|html|shtml|sh|cgi)">
Order Allow,Deny
Deny from all
</FilesMatch>
🧯 If You Can't Patch
- Remove administrator access from untrusted users.
- Implement web application firewall rules to block file uploads to BookingPress endpoints.
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > BookingPress version. If version is 1.0.87 or lower, you are vulnerable.
Check Version:
wp plugin get bookingpress-appointment-booking --field=version
Verify Fix Applied:
After updating, confirm BookingPress version is 1.0.88 or higher in WordPress admin.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to /wp-content/uploads/bookingpress/
- POST requests to /wp-admin/admin-ajax.php with action=bookingpress_process_upload
Network Indicators:
- HTTP POST requests containing malicious file uploads to BookingPress endpoints
SIEM Query:
source="*access.log*" AND (uri_path="/wp-admin/admin-ajax.php" AND post_data="bookingpress_process_upload")
🔗 References
- https://plugins.trac.wordpress.org/changeset/3061435/bookingpress-appointment-booking/trunk/core/classes/class.bookingpress_fileupload_class.php
- https://r0ot.notion.site/BookingPress-1-0-84-Authenticated-Administrator-Arbitrary-File-Upload-lead-to-RCE-e2603371c0c14d828144e26f2fdc1d01?pvs=4
- https://www.wordfence.com/threat-intel/vulnerabilities/id/049ec264-3ed1-4741-937d-8a633ef0a627?source=cve
- https://plugins.trac.wordpress.org/changeset/3061435/bookingpress-appointment-booking/trunk/core/classes/class.bookingpress_fileupload_class.php
- https://r0ot.notion.site/BookingPress-1-0-84-Authenticated-Administrator-Arbitrary-File-Upload-lead-to-RCE-e2603371c0c14d828144e26f2fdc1d01?pvs=4
- https://www.wordfence.com/threat-intel/vulnerabilities/id/049ec264-3ed1-4741-937d-8a633ef0a627?source=cve