CVE-2025-14449

6.4 MEDIUM

📋 TL;DR

The BA Book Everything WordPress plugin has a stored XSS vulnerability that allows authenticated attackers with contributor-level access or higher to inject malicious scripts into website pages. These scripts execute whenever users visit the compromised pages, potentially stealing credentials or performing unauthorized actions. All WordPress sites using this plugin up to version 1.8.14 are affected.

💻 Affected Systems

Products:
  • BA Book Everything WordPress Plugin
Versions: All versions up to and including 1.8.14
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the plugin active. Vulnerability is present in default configuration when using the babe-search-form shortcode.

⚠️ 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 administrator credentials, take over the WordPress site, install backdoors, deface the website, or redirect visitors to malicious sites, potentially leading to complete site compromise and data theft.

🟠

Likely Case

Attackers with contributor access inject malicious JavaScript to steal session cookies or credentials from visitors, potentially gaining administrative access to the WordPress dashboard.

🟢

If Mitigated

With proper user access controls and regular security monitoring, impact is limited to potential defacement or minor data exposure from the specific vulnerable pages.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access (contributor level or higher). The vulnerability is in a shortcode, making it easy to weaponize once an attacker gains appropriate access.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.15 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3418011/ba-book-everything

Restart Required: No

Instructions:

1. Log into WordPress admin dashboard. 2. Navigate to Plugins → Installed Plugins. 3. Find 'BA Book Everything' plugin. 4. Click 'Update Now' if update is available. 5. Alternatively, download version 1.8.15+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Remove Contributor Access

all

Temporarily restrict contributor-level user accounts from accessing the site until patch is applied

Disable Plugin

all

Temporarily deactivate the BA Book Everything plugin if not critically needed

🧯 If You Can't Patch

  • Implement strict user access controls and review all contributor-level accounts
  • Deploy a web application firewall (WAF) with XSS protection rules

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin dashboard → Plugins → Installed Plugins → BA Book Everything version. If version is 1.8.14 or lower, you are vulnerable.

Check Version:

wp plugin list --name='ba-book-everything' --field=version (if WP-CLI is installed)

Verify Fix Applied:

After updating, verify plugin version shows 1.8.15 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to pages containing babe-search-form shortcode
  • Multiple failed login attempts followed by successful contributor-level login

Network Indicators:

  • JavaScript payloads in HTTP parameters related to search forms
  • Unexpected outbound connections from WordPress site after page visits

SIEM Query:

source="wordpress.log" AND ("babe-search-form" OR "contributor" AND "login")

🔗 References

📤 Share & Export