CVE-2025-32619

7.1 HIGH

📋 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

Products:
  • KeyCAPTCHA WordPress Plugin
Versions: n/a through 2.5.1
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with KeyCAPTCHA plugin installed and activated. The vulnerability is present in default configurations.

⚠️ 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 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

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

all

Disable the KeyCAPTCHA plugin until patched to prevent exploitation.

wp plugin deactivate keycaptcha

Implement CSRF Tokens Manually

all

Add 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"

🔗 References

📤 Share & Export