CVE-2024-6930
📋 TL;DR
The WP Booking Calendar plugin for WordPress has a stored XSS vulnerability in its bookingform shortcode. Authenticated attackers with contributor-level access or higher can inject malicious scripts that execute when users view compromised pages. This affects all WordPress sites using vulnerable plugin versions.
💻 Affected Systems
- WP Booking Calendar WordPress Plugin
📦 What is this software?
Booking Calendar by Wpbookingcalendar
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal admin credentials, redirect users to malicious sites, deface websites, or install backdoors leading to complete site compromise.
Likely Case
Attackers inject malicious scripts to steal user session cookies, redirect users to phishing pages, or display unwanted content.
If Mitigated
With proper user role management and content filtering, impact is limited to potential defacement of specific pages.
🎯 Exploit Status
Exploitation requires authenticated access but is technically simple once access is obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 10.2.2 or later
Vendor Advisory: https://wordpress.org/plugins/booking/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find WP Booking Calendar
4. Click 'Update Now' if available
5. If no update appears, manually download version 10.2.2+ from WordPress.org
6. Deactivate, delete old version, upload new version, activate
🔧 Temporary Workarounds
Remove Contributor Access
allTemporarily remove contributor-level access from untrusted users
Disable Plugin
allDeactivate WP Booking Calendar plugin until patched
🧯 If You Can't Patch
- Implement strict user role management - only grant contributor access to trusted users
- Install and configure a web application firewall (WAF) with XSS protection rules
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Installed Plugins → WP Booking Calendar version
Check Version:
wp plugin list --name=booking --field=version
Verify Fix Applied:
Verify plugin version is 10.2.2 or higher after update
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to wp-admin with bookingform shortcode parameters
- Multiple page edits by contributor-level users
Network Indicators:
- Script tags with unusual attributes in bookingform shortcodes
SIEM Query:
source="wordpress" AND ("bookingform" AND "type=" AND ("script" OR "onerror" OR "onload"))
🔗 References
- https://plugins.trac.wordpress.org/browser/booking/trunk/core/lib/wpdev-booking-class.php#L849
- https://plugins.trac.wordpress.org/changeset/3123628/
- https://wordpress.org/plugins/booking/#developers
- https://www.wordfence.com/threat-intel/vulnerabilities/id/2aaca776-03ce-43bb-9553-f455f57124a3?source=cve
- https://plugins.trac.wordpress.org/browser/booking/trunk/core/lib/wpdev-booking-class.php#L849
- https://plugins.trac.wordpress.org/changeset/3123628/
- https://wordpress.org/plugins/booking/#developers
- https://www.wordfence.com/threat-intel/vulnerabilities/id/2aaca776-03ce-43bb-9553-f455f57124a3?source=cve