Description
The Grav Login plugin (getgrav/grav-plugin-login) before 3.9.1 is vulnerable to email address enumeration. The register() method in classes/Login.php throws a distinct exception (EMAIL_NOT_AVAILABLE) when a submitted email address already belongs to an existing account, while allowing registration to proceed otherwise. Because the registration endpoint has no rate limiting, an attacker can enumerate which email addresses have accounts on the site, one guess per request.
Published: 2026-08-25
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure via Email Enumeration
Action: Patch Immediately
AI Analysis

Impact

The Grav Login plugin contains a flaw that allows an attacker to determine whether a given email address is registered on a site. The register() method throws an EMAIL_NOT_AVAILABLE exception only when the email already exists, while permitting registration otherwise. Because the endpoint does not apply rate limiting or generic error handling, the difference in responses directly exposes account existence. This results in information disclosure that can facilitate targeted phishing or credential stuffing attacks.

Affected Systems

The vulnerability is present in getgrav/grav-plugin-login versions earlier than 3.9.1 running on the Grav CMS. Any site that has not upgraded the login plugin to 3.9.1 or later inherits this flaw. The affected product is Grav CMS with the login plugin.

Risk and Exploitability

With a CVSS score of 9.3 the flaw is considered high severity. The EPSS score is not available, and the vulnerability is not listed in CISA’s KEV catalog. Nevertheless, the lack of rate limiting means an attacker can launch a brute‑force enumeration attack by sending repeated registration requests, one for each email guess. The attack vector is remote over the web, requiring only public access to the registration endpoint. Due to the clear distinction in the response messages, exploitation is straightforward and could be automated, making the risk significant for exposed user databases.

Generated by OpenCVE AI on August 25, 2026 at 03:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Grav login plugin to version 3.9.1 or later, which removes the distinct exception.
  • If an upgrade is not yet possible, temporarily disable or protect the registration endpoint by adding rate limiting or a CAPTCHA to prevent automated enumeration.
  • Modify the plugin error handling to return a generic success/failure message regardless of whether the email is already registered, ensuring no informational difference is leaked.

Generated by OpenCVE AI on August 25, 2026 at 03:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 25 Aug 2026 02:00:00 +0000

Type Values Removed Values Added
Description The Grav Login plugin (getgrav/grav-plugin-login) before 3.9.1 is vulnerable to email address enumeration. The register() method in classes/Login.php throws a distinct exception (EMAIL_NOT_AVAILABLE) when a submitted email address already belongs to an existing account, while allowing registration to proceed otherwise. Because the registration endpoint has no rate limiting, an attacker can enumerate which email addresses have accounts on the site, one guess per request.
Title Grav Login Plugin before 3.9.1 Email Enumeration via Registration
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-203
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-29T11:47:42.332Z

Reserved: 2026-08-10T13:02:20.829Z

Link: CVE-2026-72699

cve-icon Vulnrichment

Updated: 2026-08-25T15:26:29.101Z

cve-icon NVD

Status : Deferred

Published: 2026-08-25T02:16:45.687

Modified: 2026-08-31T20:52:56.343

Link: CVE-2026-72699

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T06:00:04Z

Weaknesses