CVE-2024-9872

5.4 MEDIUM

📋 TL;DR

This vulnerability allows authenticated WordPress users with Subscriber-level access or higher to inject malicious scripts and modify plugin settings without proper authorization. It affects all WordPress sites using the Online Booking & Scheduling Calendar for WordPress by vcita plugin. Attackers can exploit this to deface sites, steal data, or gain further access.

💻 Affected Systems

Products:
  • Online Booking & Scheduling Calendar for WordPress by vcita
Versions: All versions up to and including 4.5.1
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled and at least one Subscriber-level user account.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers inject persistent malicious scripts that compromise all site visitors, leading to credential theft, malware distribution, or complete site takeover.

🟠

Likely Case

Attackers inject defacement scripts, redirect users to malicious sites, or steal session cookies from logged-in users.

🟢

If Mitigated

With proper user role management and input validation, impact is limited to minor data manipulation by trusted users.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once an attacker has Subscriber credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.5.2

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3200129/meeting-scheduler-by-vcita/trunk/vcita-ajax-function.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Online Booking & Scheduling Calendar for WordPress by vcita'. 4. Click 'Update Now' if available, or manually update to version 4.5.2+. 5. Verify update completes successfully.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the plugin until patched

wp plugin deactivate meeting-scheduler-by-vcita

Restrict user registration

all

Disable new user registration to limit attack surface

In WordPress Settings > General, uncheck 'Anyone can register'

🧯 If You Can't Patch

  • Remove Subscriber role from all untrusted users and review existing Subscriber accounts
  • Implement web application firewall (WAF) rules to block suspicious POST requests to vcita-ajax-function.php

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin under Plugins > Installed Plugins. If version is 4.5.1 or lower, you are vulnerable.

Check Version:

wp plugin get meeting-scheduler-by-vcita --field=version

Verify Fix Applied:

Confirm plugin version shows 4.5.2 or higher after update. Test that vcita_save_user_data_callback function now requires proper capabilities.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action=vcita_save_user_data from Subscriber-level users
  • Unusual plugin setting changes in WordPress logs

Network Indicators:

  • Unexpected POST requests containing script tags or encoded payloads to admin-ajax.php

SIEM Query:

source="wordpress.log" AND "admin-ajax.php" AND "vcita_save_user_data" AND (user_role="subscriber" OR user_role="contributor" OR user_role="author" OR user_role="editor")

🔗 References

📤 Share & Export