CVE-2024-10027

4.8 MEDIUM

📋 TL;DR

This vulnerability in the WP Booking Calendar WordPress plugin allows high-privilege users (like administrators) to inject malicious scripts into widget settings, which then execute when other users view those widgets. It affects WordPress sites using vulnerable versions of the plugin, particularly in multisite configurations where unfiltered_html capabilities are restricted.

💻 Affected Systems

Products:
  • WP Booking Calendar WordPress Plugin
Versions: All versions before 10.6.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires admin-level access to exploit. Particularly relevant for WordPress multisite installations where unfiltered_html is disallowed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with admin privileges could steal session cookies, redirect users to malicious sites, or perform actions on behalf of authenticated users, potentially compromising the entire WordPress site.

🟠

Likely Case

Malicious admin injects JavaScript that steals user credentials or session tokens when other users view affected widgets.

🟢

If Mitigated

With proper user access controls and regular plugin updates, impact is limited to potential data exposure from compromised admin accounts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires admin privileges. Attack vector is through plugin widget settings interface.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 10.6.3

Vendor Advisory: https://wpscan.com/vulnerability/a94c7b64-720a-47f1-a74a-691c3a9ed3a1/

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. Alternatively, download version 10.6.3+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Remove vulnerable plugin

all

Temporarily disable or remove the WP Booking Calendar plugin until patched

wp plugin deactivate wp-booking-calendar
wp plugin delete wp-booking-calendar

Restrict admin access

all

Limit administrative accounts to trusted personnel only and implement multi-factor authentication

🧯 If You Can't Patch

  • Implement strict access controls for admin accounts with multi-factor authentication
  • Use web application firewall rules to block XSS payloads in POST requests to admin-ajax.php

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin under Plugins → Installed Plugins. Look for WP Booking Calendar version number.

Check Version:

wp plugin get wp-booking-calendar --field=version

Verify Fix Applied:

Confirm plugin version is 10.6.3 or higher after update.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with script tags in parameters
  • Admin users modifying widget settings with JavaScript payloads

Network Indicators:

  • HTTP requests containing script tags in POST data to WordPress admin endpoints

SIEM Query:

source="wordpress.log" AND ("admin-ajax.php" OR "widgets.php") AND ("<script>" OR "javascript:")

🔗 References

📤 Share & Export