Auth bypass in Getgrav Grav
CVE-2026-62669
Grav Login Plugin adds login, basic ACL, and session wide messages to Grav. Prior to 3.8.11, the Grav Login plugin login.regenerate2FASecret task checks only that the pending-session user exists rather than requiring $user->authorized. After submitting a victim's correct password, an attacker can invoke taskRegenerate2FASecret() during the pending TOTP challenge, overwrite twofa_secret, read the replacement secret from the response, calculate a valid code, and complete authentication without the victim's second factor. This issue is fixed in version 3.8.11.
Vulnerability class: Broken Authentication
CVSS v3 metric
CVSS v3 base score 7.4 (High). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N.
Affected products
- Getgrav Grav — versions < 2.0.4
- Getgrav Grav-plugin-login — versions < 3.8.11
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM)
- security-advisories@github.com (x_refsource_MISC)
- security-advisories@github.com (x_refsource_MISC)
Frequently asked questions
- What is CVE-2026-62669?
- CVE-2026-62669 is a high-severity vulnerability in Getgrav Grav, classified under Improper Authentication. CVSS score: 7.4/10. Published 2026-08-19.
- How severe is CVE-2026-62669?
- High severity. CVSS v3 base score is 7.4 out of 10.