CVE-2026-2374
Login No Captcha reCAPTCHA <= 1.8.0 - Unauthenticated Stored Cross-Site Scripting via PHP_SELF
The Login No Captcha reCAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the $_SERVER['PHP_SELF'] superglobal in all versions up to, and including, 1.8.0. This is due to the authenticate() function storing the unsanitized output of basename($_SERVER['PHP_SELF']) in the login_nocaptcha_error WordPress option when a login attempt is made from a non-standard login page (e.g., xmlrpc.php). The admin_notices() function then echoes this stored value directly into the admin dashboard HTML without escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator with a whitelisted IP address visits the WordPress dashboard within 30 seconds of the attack.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.2
Login No Captcha reCAPTCHA <= 1.8.0 - Unauthenticated Stored Cross-Site Scripting via PHP_SELF
The Login No Captcha reCAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the $_SERVER['PHP_SELF'] superglobal in all versions up to, and including, 1.8.0. This is due to the authenticate() function storing the unsanitized output of basename($_SERVER['PHP_SELF']) in the login_nocaptcha_error WordPress option when a login attempt is made from a non-standard login page (e.g., xmlrpc.php). The admin_notices() function then echoes this stored value directly into the admin dashboard HTML without escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator with a whitelisted IP address visits the WordPress dashboard within 30 seconds of the attack.
- Record
CVE-2026-2374- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-32704
7.2
The Login No Captcha reCAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the $_SERVER['PHP_SELF'] superglobal in all versions up to, and including, 1.8.0. This is due to the authenticate() function storing the unsanitized output of basename($_SERVER['PHP_SELF']) in the login_nocaptcha_error WordPress option when a login attempt is made from a non-standard login page (e.g., xmlrpc.php). The admin_notices() function then echoes this stored value directly into the admin dashboard HTML without escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator with a whitelisted IP address visits the WordPress dashboard within 30 seconds of the attack.
- Record
EUVD-2026-32704- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-m5hx-7xc5-p76f
7.2
The Login No Captcha reCAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting...
The Login No Captcha reCAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the $_SERVER['PHP_SELF'] superglobal in all versions up to, and including, 1.8.0. This is due to the authenticate() function storing the unsanitized output of basename($_SERVER['PHP_SELF']) in the login_nocaptcha_error WordPress option when a login attempt is made from a non-standard login page (e.g., xmlrpc.php). The admin_notices() function then echoes this stored value directly into the admin dashboard HTML without escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator with a whitelisted IP address visits the WordPress dashboard within 30 seconds of the attack.
- Record
GHSA-m5hx-7xc5-p76f- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
7.2
The Login No Captcha reCAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the $_SERVER['PHP_SELF'] superglobal in all versions up to, and including, 1.8.0. This is due to the authenticate() function storing the unsanitized output of basename($_SERVER['PHP_SELF']) in the login_nocaptcha_error WordPress option when a login attempt is made from a non-standard login page (e.g., xmlrpc.php). The admin_notices() function then echoes this stored value directly into the admin dashboard HTML without escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator with a whitelisted IP address visits the WordPress dashboard within 30 seconds of the attack.
- Record
CVE-2026-2374- CVSS 3.1
- 7.2 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-2374 is a high vulnerability (CVSS 7.2) in Robertpeake Login No Captcha Recaptcha, published May 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.35%, the 28th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/99dfce3b-2b47-41bf-8b20-b53fb9f061a7?source=cve
plugins.trac.wordpress.org/browser/login-recaptcha/tags/1.7.3/login-nocaptcha.php
plugins.trac.wordpress.org/browser/login-recaptcha/trunk/login-nocaptcha.php
wordpress.org/plugins/login-recaptcha
plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3549342%40login-recaptcha&new=3549342%40login-recaptcha&sfp_email=&sfph_mail=
nvd.nist.gov/vuln/detail/CVE-2026-2374
github.com/advisories/GHSA-m5hx-7xc5-p76f