CVE-2026-62669 PUBLISHED

Grav Login Plugin: 2FA Bypass via 'login.regenerate2FASecret' - Secret Rotation During Pending Challenge

Assigner: GitHub_M
Reserved: 14.07.2026 Published: 19.08.2026 Updated: 19.08.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS Score: 7.4

Product Status

Vendor getgrav
Product grav
Versions
  • Version < 2.0.4 is affected
Vendor getgrav
Product grav-plugin-login
Versions
  • Version < 3.8.11 is affected

References

Problem Types

  • CWE-287: Improper Authentication CWE