CVE-2025-32619
📋 TL;DR
A Cross-Site Request Forgery (CSRF) vulnerability in the KeyCAPTCHA WordPress plugin allows attackers to perform actions as authenticated users, leading to Stored Cross-Site Scripting (XSS). This affects WordPress sites using KeyCAPTCHA versions up to 2.5.1. Attackers can inject malicious scripts that execute when other users visit affected pages.
💻 Affected Systems
- KeyCAPTCHA 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 inject malicious JavaScript that steals administrator credentials, defaces websites, or installs backdoors when administrators view compromised pages.
Likely Case
Attackers inject malicious scripts that steal user session cookies or redirect users to phishing sites when they visit pages containing the injected content.
If Mitigated
With proper CSRF protections and content security policies, the attack surface is reduced, though the vulnerability still exists in the codebase.
🎯 Exploit Status
Exploitation requires tricking an authenticated user (typically an administrator) into visiting a malicious page. The CSRF leads to stored XSS payload injection.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.5.2 or later
Vendor Advisory: https://patchstack.com/database/wordpress/plugin/keycaptcha/vulnerability/wordpress-keycaptcha-plugin-2-5-1-csrf-to-stored-xss-vulnerability?_s_id=cve
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find KeyCAPTCHA and click 'Update Now' if available. 4. Alternatively, download version 2.5.2+ from WordPress.org and manually update via FTP or file manager.
🔧 Temporary Workarounds
Temporary Plugin Deactivation
allDisable the KeyCAPTCHA plugin until patched to prevent exploitation.
wp plugin deactivate keycaptcha
Implement CSRF Tokens Manually
allAdd CSRF protection to forms that use KeyCAPTCHA if you cannot update immediately.
🧯 If You Can't Patch
- Disable the KeyCAPTCHA plugin completely and use alternative CAPTCHA solutions.
- Implement strict Content Security Policy (CSP) headers to mitigate XSS impact.
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > KeyCAPTCHA for version number. If version is 2.5.1 or earlier, you are vulnerable.
Check Version:
wp plugin get keycaptcha --field=version
Verify Fix Applied:
After updating, verify the plugin version shows 2.5.2 or higher in WordPress admin.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to WordPress admin-ajax.php or admin-post.php involving KeyCAPTCHA endpoints
- JavaScript injection in database fields related to KeyCAPTCHA
Network Indicators:
- CSRF attacks originating from external domains to WordPress admin endpoints
SIEM Query:
source="wordpress.log" AND (uri="/wp-admin/admin-ajax.php" OR uri="/wp-admin/admin-post.php") AND referer NOT CONTAINS "yourdomain.com" AND params CONTAINS "keycaptcha"