CVE-2025-12135
📋 TL;DR
The WPBookit WordPress plugin up to version 1.0.6 has a stored cross-site scripting vulnerability in the 'css_code' parameter. Unauthenticated attackers can inject malicious scripts that execute when users visit compromised pages. This affects all WordPress sites using vulnerable versions of the WPBookit plugin.
💻 Affected Systems
- WPBookit WordPress Plugin
⚠️ 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.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, deface websites, redirect users to malicious sites, or install backdoors leading to complete site compromise.
Likely Case
Attackers inject malicious scripts to steal user session cookies, redirect users to phishing pages, or display unwanted content.
If Mitigated
With proper input validation and output encoding, the risk is limited to minor content manipulation if other security controls fail.
🎯 Exploit Status
The vulnerability requires no authentication and has publicly available proof-of-concept code.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.0.7 or later
Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3398463%40wpbookit&new=3398463%40wpbookit&sfp_email=&sfph_mail=
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find WPBookit plugin. 4. Click 'Update Now' if available. 5. If no update appears, manually download version 1.0.7+ from WordPress.org and replace plugin files.
🔧 Temporary Workarounds
Disable WPBookit Plugin
allTemporarily disable the vulnerable plugin until patched
wp plugin deactivate wpbookit
Implement WAF Rules
allAdd web application firewall rules to block malicious 'css_code' parameter payloads
🧯 If You Can't Patch
- Implement Content Security Policy (CSP) headers to restrict script execution
- Deploy web application firewall with XSS protection rules
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for WPBookit version 1.0.6 or earlier
Check Version:
wp plugin get wpbookit --field=version
Verify Fix Applied:
Verify WPBookit plugin version is 1.0.7 or later in WordPress admin panel
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to wp-admin/admin-ajax.php with 'css_code' parameter containing script tags
- Multiple failed XSS attempts in web server logs
Network Indicators:
- HTTP requests with JavaScript payloads in 'css_code' parameter
- Unusual outbound connections from WordPress site after page visits
SIEM Query:
source="web_server_logs" AND ("css_code" AND ("<script" OR "javascript:" OR "onerror=" OR "onload="))
🔗 References
- https://github.com/d0n601/CVE-2025-12135
- https://plugins.trac.wordpress.org/browser/wpbookit/trunk/core/admin/classes/class.wpb-admin-routes-handler.php#L15
- https://plugins.trac.wordpress.org/browser/wpbookit/trunk/core/admin/classes/class.wpb-admin-routes.php#L118
- https://plugins.trac.wordpress.org/browser/wpbookit/trunk/core/admin/classes/controllers/class.wpb-setting-controller.php#L16
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3398463%40wpbookit&new=3398463%40wpbookit&sfp_email=&sfph_mail=
- https://ryankozak.com/posts/cve-2025-12135/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/7d7b2c79-c4f7-4611-a22a-685d4421a4ab?source=cve