Blue Captcha <= 2.0.1 - Cross-Site Request Forgery via 'blcap_action' Parameter
Description
The Blue Captcha plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to and including 2.0.1. This is due to missing or incorrect nonce validation on the main admin panel (blcap_main_page) and on the Hall of Shame and Log subpages, which accept a 'blcap_action' / 'action' parameter from $_REQUEST and perform destructive operations (plugin uninstall via blcap_uninstall(), log deletion via blcap_delete_logs(), Hall of Shame deletion via blcap_delete_ip_db(), and adding IPs to the banned list via update_option('blcap_settings')) with no wp_verify_nonce(), check_admin_referer(), or check_ajax_referer() calls anywhere in the codebase. This makes it possible for unauthenticated attackers to uninstall the plugin, delete audit logs, remove Hall of Shame entries, and add arbitrary IP addresses to the block list via a forged request granted they can trick a site administrator into performing an action such as clicking on a link.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
1Patches
Vulnerability mechanics
Root cause
"Missing or incorrect nonce validation on admin panel actions allows cross-site request forgery."
Attack vector
An unauthenticated attacker can craft a forged request that triggers plugin uninstallation, log deletion, Hall of Shame deletion, or addition of arbitrary IP addresses to the banned list. The attacker must trick a logged-in site administrator into clicking a malicious link or visiting a crafted page, exploiting the missing CSRF protection [ref_id=1]. No authentication is required for the attacker, only the victim administrator must be authenticated.
Affected code
The vulnerability resides in the main admin panel (`blcap_main_page`), the Hall of Shame subpage (`blcap_hos_page`), and the Log subpage (`blcap_logs_page`). These pages accept a `blcap_action` or `action` parameter from `$_REQUEST` and call destructive functions such as `blcap_uninstall()`, `blcap_delete_logs()`, and `blcap_delete_ip_db()` without any nonce verification. The entire codebase lacks calls to `wp_verify_nonce()`, `check_admin_referer()`, or `check_ajax_referer()` [ref_id=1].
What the fix does
The advisory states that the plugin fails to implement any nonce validation on its admin actions. To fix the vulnerability, the plugin must add `wp_verify_nonce()` or `check_admin_referer()` calls before executing destructive operations such as `blcap_uninstall()`, `blcap_delete_logs()`, and `blcap_delete_ip_db()`. No patch is provided in the bundle.
Preconditions
- authThe attacker must trick a logged-in WordPress administrator into clicking a crafted link or visiting a malicious page.
- authThe victim administrator must have the 'administrator' role (the menu pages are restricted to administrators).
- inputThe attacker sends a forged HTTP request containing a 'blcap_action' or 'action' parameter to one of the vulnerable admin pages.
Generated on Jun 24, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- plugins.trac.wordpress.org/browser/blue-captcha/tags/2.0.1/bluecaptcha.phpmitre
- plugins.trac.wordpress.org/browser/blue-captcha/tags/2.0.1/bluecaptcha.phpmitre
- plugins.trac.wordpress.org/browser/blue-captcha/tags/2.0.1/bluehos.phpmitre
- plugins.trac.wordpress.org/browser/blue-captcha/tags/2.0.1/bluehos.phpmitre
- plugins.trac.wordpress.org/browser/blue-captcha/tags/2.0.1/bluelog.phpmitre
- www.wordfence.com/threat-intel/vulnerabilities/id/793072e9-250b-4a2c-819f-aa7e1dc7d4d6mitre
News mentions
0No linked articles in our index yet.