CVE-2024-9504

7.2 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to upload malicious SVG files containing JavaScript that executes when viewed. All WordPress sites using the Booking calendar, Appointment Booking System plugin versions up to 3.2.15 are affected.

💻 Affected Systems

Products:
  • Booking calendar, Appointment Booking System WordPress plugin
Versions: All versions up to and including 3.2.15
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires SVG file upload functionality to be enabled (default configuration).

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal admin credentials, deface websites, redirect users to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Attackers inject malicious scripts to steal session cookies, redirect users to phishing sites, or display unwanted content.

🟢

If Mitigated

With proper file upload restrictions and content security policies, impact is limited to potential data exfiltration from users viewing malicious files.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires uploading a malicious SVG file, which is trivial for attackers with basic web knowledge.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.16

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3195800/booking-calendar

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Go to Plugins > Installed Plugins. 3. Find 'Booking calendar, Appointment Booking System'. 4. Click 'Update Now' if available. 5. Alternatively, download version 3.2.16+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable SVG uploads via .htaccess

linux

Prevent SVG file uploads at web server level

Add to .htaccess: <FilesMatch "\.svg$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

Disable plugin temporarily

all

Deactivate vulnerable plugin until patched

wp plugin deactivate booking-calendar

🧯 If You Can't Patch

  • Implement Content Security Policy (CSP) headers to restrict script execution
  • Add file upload restrictions to block SVG files or sanitize all uploaded files

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin under Plugins > Installed Plugins

Check Version:

wp plugin get booking-calendar --field=version

Verify Fix Applied:

Verify plugin version is 3.2.16 or higher and test SVG upload functionality

📡 Detection & Monitoring

Log Indicators:

  • Unusual SVG file uploads
  • Multiple failed upload attempts
  • Requests to uploaded SVG files with suspicious parameters

Network Indicators:

  • POST requests with SVG file uploads to booking plugin endpoints
  • GET requests to uploaded SVG files

SIEM Query:

source="web_server" (uri_path="*svg" OR file_extension="svg") AND (user_agent="*malicious*" OR referrer="*suspicious*")

🔗 References

📤 Share & Export