CVE-2026-62236 PUBLISHED

grav-plugin-login < 3.8.11 CSRF via regenerate2FASecret

Assigner: VulnCheck
Reserved: 13.07.2026 Published: 17.07.2026 Updated: 17.07.2026

grav-plugin-login before 3.8.11 contains a cross-site request forgery (CSRF) vulnerability in the login.regenerate2FASecret frontend task, which regenerates and persists a new TOTP secret for the authenticated session user without any anti-CSRF nonce or Origin/Referer check. Because Grav core dispatches the task from the GET 'task:' URI parameter and the default session cookie is SameSite=Lax, an attacker can lure a logged-in victim to an off-site page that performs a top-level GET navigation, rotating the victim's TOTP secret so their enrolled authenticator no longer matches the server, effectively forcing 2FA re-enrollment. Sites configured with session.samesite: Strict are not affected.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
CVSS Score: 2.3

Product Status

Vendor getgrav
Product grav
Versions Default: unaffected
  • affected from 0 to 3.8.11 (excl.)
  • Version 3.8.11 is unaffected

Credits

  • CyberKareem finder

References

Problem Types

  • Cross-Site Request Forgery (CSRF) CWE