CVE-2025-30534

4.3 MEDIUM

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the Image Captcha WordPress plugin allows attackers to trick authenticated administrators into performing unintended actions. This affects WordPress sites using Image Captcha plugin versions up to 1.2. Attackers could change plugin settings without the admin's knowledge.

💻 Affected Systems

Products:
  • WordPress Image Captcha Plugin
Versions: n/a through 1.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the Image Captcha plugin installed and activated. Requires an authenticated admin session to exploit.

⚠️ 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 disable or modify the captcha protection entirely, allowing automated attacks like comment spam, brute force login attempts, or form submission abuse to bypass captcha controls.

🟠

Likely Case

Attackers would typically use this to disable captcha protection temporarily to launch automated attacks against the WordPress site, such as comment spam campaigns or brute force login attempts.

🟢

If Mitigated

With proper CSRF protections and user awareness, the risk is minimal as it requires the admin to be tricked into clicking a malicious link while authenticated.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

CSRF attacks are well-understood and easy to weaponize. Exploitation requires tricking an authenticated admin into visiting a malicious page.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.3 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/image-captcha/vulnerability/wordpress-image-captcha-plugin-1-2-cross-site-request-forgery-csrf-to-settings-change-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find 'Image Captcha' and check if update is available. 4. Click 'Update Now' if update to 1.3+ is available. 5. If no update available, consider disabling or removing the plugin.

🔧 Temporary Workarounds

Add CSRF Protection Manually

all

Add nonce verification to plugin's admin form handling

Requires modifying plugin PHP files - not recommended for non-developers

Disable Plugin Temporarily

linux

Deactivate the Image Captcha plugin until patched

wp plugin deactivate image-captcha

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to detect CSRF attempts
  • Educate administrators about phishing risks and require them to log out of admin sessions when not actively managing the site

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins, find Image Captcha and check version number

Check Version:

wp plugin get image-captcha --field=version

Verify Fix Applied:

Verify Image Captcha plugin version is 1.3 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unexpected changes to Image Captcha plugin settings in WordPress logs
  • Multiple failed captcha validations after settings changes

Network Indicators:

  • POST requests to /wp-admin/admin.php?page=image-captcha from unexpected referrers
  • CSRF token missing in admin form submissions

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin.php" AND query_string="page=image-captcha") AND referrer NOT CONTAINS "yourdomain.com"

🔗 References

📤 Share & Export