CVE-2024-12370
📋 TL;DR
The WP Hotel Booking plugin for WordPress has an authorization bypass vulnerability that allows unauthenticated attackers to add rooms with custom prices. This affects all WordPress sites using the plugin up to version 2.1.5. Attackers can manipulate booking systems without requiring any authentication.
💻 Affected Systems
- WP Hotel Booking WordPress Plugin
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could flood the system with fake rooms, manipulate pricing to cause financial loss, or disrupt legitimate hotel booking operations.
Likely Case
Attackers add rooms with incorrect pricing to cause confusion, test payment systems, or create fake inventory.
If Mitigated
With proper monitoring and rate limiting, impact is limited to minor data integrity issues that can be rolled back.
🎯 Exploit Status
The vulnerability requires no authentication and minimal technical skill to exploit via HTTP requests.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.1.6
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find WP Hotel Booking and click 'Update Now'. 4. Verify version shows 2.1.6 or higher.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily disable the WP Hotel Booking plugin until patched
wp plugin deactivate wp-hotel-booking
Web Application Firewall Rule
allBlock unauthorized POST requests to room creation endpoints
# WAF rule to block POST requests to /wp-admin/admin-ajax.php with 'action' parameter containing 'hb_add_room'
🧯 If You Can't Patch
- Implement strict rate limiting on admin-ajax.php endpoints
- Add additional authentication layer for room management functions
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for WP Hotel Booking version
Check Version:
wp plugin list --name=wp-hotel-booking --field=version
Verify Fix Applied:
Verify plugin version is 2.1.6 or higher in WordPress admin
📡 Detection & Monitoring
Log Indicators:
- Multiple POST requests to /wp-admin/admin-ajax.php with 'action=hb_add_room' from unauthenticated users
- Unexpected room creation events in plugin logs
Network Indicators:
- HTTP POST requests to admin-ajax.php with room creation parameters from external IPs
SIEM Query:
source="web_access_logs" AND uri="/wp-admin/admin-ajax.php" AND method="POST" AND (form_data LIKE "%hb_add_room%" OR query_string LIKE "%hb_add_room%") AND user_agent NOT LIKE "%WordPress%"