CVE-2026-4121
Cross-Site Request Forgery in Kcaptcha WordPress Plugin Settings
Publication date: 2026-04-22
Last updated on: 2026-04-22
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| kcaptcha | kcaptcha | to 1.0.1 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-352 | The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
The Kcaptcha plugin for WordPress has a Cross-Site Request Forgery (CSRF) vulnerability in all versions up to and including 1.0.1. This happens because the plugin's settings page handler does not validate nonces, which are security tokens used to verify requests. Specifically, the settings form lacks a wp_nonce_field(), and the processing code does not call wp_verify_nonce() or check_admin_referer() before saving settings. As a result, an attacker can trick a site administrator into clicking a malicious link that modifies the plugin's CAPTCHA settings without their consent.
How can this vulnerability impact me? :
This vulnerability allows an unauthenticated attacker to change the CAPTCHA settings of the Kcaptcha plugin by tricking an administrator into performing an action, such as clicking a link. The attacker can enable or disable CAPTCHA on critical forms like login, registration, lost password, and comment forms. This could reduce the effectiveness of CAPTCHA protections, potentially increasing the risk of automated attacks such as brute force login attempts or spam submissions.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, you should update the Kcaptcha plugin to a version later than 1.0.1 where the nonce validation is properly implemented.
If an update is not immediately available, you can temporarily disable the Kcaptcha plugin to prevent exploitation.
Additionally, educate site administrators to avoid clicking on suspicious links that could trigger forged requests.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability allows unauthenticated attackers to modify CAPTCHA settings via Cross-Site Request Forgery, potentially weakening security controls on login, registration, lost password, and comment forms.
While the CVE description does not explicitly mention compliance with standards such as GDPR or HIPAA, the ability to alter security settings without proper authorization could lead to increased risk of unauthorized access or abuse, which may impact compliance with regulations requiring adequate security measures to protect user data.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves Cross-Site Request Forgery (CSRF) in the Kcaptcha WordPress plugin due to missing nonce validation in the settings page handler. Detection typically involves monitoring for unauthorized changes to the plugin's CAPTCHA settings or inspecting HTTP requests that modify these settings without proper nonce tokens.
To detect potential exploitation attempts on your system, you can look for HTTP POST requests to the plugin's settings page (admin/setting.php) that lack valid nonce parameters or originate from suspicious sources.
Suggested commands to help detect this vulnerability include:
- Using web server logs, search for POST requests to admin/setting.php: grep 'POST /wp-content/plugins/kcaptcha/admin/setting.php' /var/log/apache2/access.log
- Check for missing or invalid nonce parameters in requests by analyzing request payloads or logs.
- Use network monitoring tools like Wireshark or tcpdump to capture HTTP traffic and filter for requests to the vulnerable endpoint.
- Employ WordPress security plugins or scanners that can detect missing nonce fields or CSRF vulnerabilities in plugins.