CVE-2025-13887

6.4 MEDIUM

📋 TL;DR

This stored XSS vulnerability in the AI BotKit WordPress plugin allows authenticated attackers with Contributor-level access or higher to inject malicious scripts into website pages. When users visit compromised pages, the scripts execute in their browsers, potentially stealing credentials or performing unauthorized actions. All WordPress sites using AI BotKit plugin versions up to 1.1.7 are affected.

💻 Affected Systems

Products:
  • AI BotKit – AI Chatbot & Live Support for WordPress
Versions: All versions up to and including 1.1.7
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated attacker with at least Contributor role. Vulnerability exists in default plugin 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 administrator credentials, take over the WordPress site, deface pages, redirect users to malicious sites, or install backdoors for persistent access.

🟠

Likely Case

Attackers with contributor accounts inject malicious scripts to steal user session cookies, perform actions as authenticated users, or display phishing content to visitors.

🟢

If Mitigated

With proper input validation and output escaping, malicious scripts would be neutralized before execution, preventing any client-side attacks.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires Contributor-level access. The vulnerability is in a publicly accessible shortcode handler, making exploitation straightforward for authenticated attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.1.8 or later

Vendor Advisory: https://wordpress.org/plugins/ai-botkit-for-lead-generation/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'AI BotKit – AI Chatbot & Live Support'. 4. Click 'Update Now' if update available. 5. Alternatively, download version 1.1.8+ from WordPress plugin repository and manually update.

🔧 Temporary Workarounds

Remove vulnerable shortcode usage

all

Identify and remove all instances of the vulnerable 'ai_botkit_widget' shortcode from posts, pages, and widgets

Restrict contributor permissions

all

Temporarily remove Contributor role access or downgrade to Subscriber role until patch is applied

🧯 If You Can't Patch

  • Disable the AI BotKit plugin completely until patched
  • Implement web application firewall (WAF) rules to block XSS payloads in the 'id' parameter

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins. If AI BotKit version is 1.1.7 or lower, you are vulnerable.

Check Version:

wp plugin list --name='ai-botkit-for-lead-generation' --field=version (if WP-CLI installed)

Verify Fix Applied:

After updating, verify plugin version shows 1.1.8 or higher in WordPress admin plugins page.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests containing script tags in 'id' parameter
  • Multiple failed login attempts followed by successful Contributor login

Network Indicators:

  • HTTP requests with JavaScript payloads in URL parameters
  • Unexpected outbound connections from WordPress site to external domains

SIEM Query:

source="wordpress.log" AND ("ai_botkit_widget" OR "id=" AND ("script" OR "javascript:" OR "onerror="))

🔗 References

📤 Share & Export