Description
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.
Published: 2026-05-28
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability resides in the Login No Captcha reCAPTCHA WordPress plugin. An unauthenticated attacker can send a crafted login request through a non‑standard login endpoint, such as xmlrpc.php. The plugin's authenticate() function stores basename($_SERVER['PHP_SELF']) without sanitization into the login_nocaptcha_error option. The admin_notices() function later echoes this stored value directly into the admin dashboard, allowing arbitrary JavaScript to run when an administrator accesses the dashboard within 30 seconds of the exploit. This constitutes an unauthenticated stored cross‑site scripting flaw that could be used to steal credentials, deface the site, or perform further privileged actions on the WordPress installation.

Affected Systems

WordPress sites running the robertpeake Login No Captcha reCAPTCHA plugin version 1.8.0 or earlier are affected. Administrators with whitelisted IP addresses are required for the payload to execute, but the initial injection does not require authentication.

Risk and Exploitability

The CVSS score of 7.2 indicates a high impact, while the EPSS score is not available, making it unclear how frequently exploitation has occurred. The vulnerability is not listed in the CISA KEV catalog, suggesting no known widespread exploitation. An attacker can launch the exploit remotely via a non‑standard login interface; the vulnerability does not require any privileged access to record the payload. Because the script executes only shortly after login, the window of opportunity is limited, yet the potential damage remains significant.

Generated by OpenCVE AI on May 28, 2026 at 05:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Login No Captcha reCAPTCHA plugin to the latest released version that removes the unsanitized PHP_SELF handling.
  • If an upgrade is not immediately available, deactivate or uninstall the plugin until a patch is released.
  • Restrict administrator access to whitelisted IP addresses and ensure no other users can view the admin dashboard.
  • Implement a strong Content Security Policy (CSP) header that disallows inline scripts to mitigate XSS impact.

Generated by OpenCVE AI on May 28, 2026 at 05:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 28 May 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 28 May 2026 04:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Login No Captcha reCAPTCHA <= 1.8.0 - Unauthenticated Stored Cross-Site Scripting via PHP_SELF
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-05-28T10:37:31.675Z

Reserved: 2026-02-11T20:47:31.042Z

Link: CVE-2026-2374

cve-icon Vulnrichment

Updated: 2026-05-28T10:37:26.623Z

cve-icon NVD

Status : Deferred

Published: 2026-05-28T05:16:34.290

Modified: 2026-05-28T13:45:25.260

Link: CVE-2026-2374

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-28T05:30:06Z

Weaknesses