CVE-2026-72700
The getgrav/grav-plugin-login Composer plugin before 3.9.1 (used by Grav) compares password reset and account activation tokens using a non-constant-time === string comparison instead of hash_equals() in classes/Controller.php (taskReset()) and login.php (activation handler). Because the token-submission endpoint (taskReset) also lacks rate limiting, an attacker could in principle send repeated token guesses against a known username and use the timing differences to attempt to recover a valid token, though the vendor rates the practical exploitability as low and no end-to-end network exploit has been demonstrated.
Scoring
- Severity
- HIGH
- CVSS base score
- 8.7
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- EPSS probability
- 0.26%
- CWE
- CWE-208
- Published
- 2026-08-25
- Last modified
- 2026-08-25
Affected products
- getgrav grav
- getgrav grav
Weakness type
Related vulnerabilities
- CVE-2026-87737 — An issue was discovered in the mirage-crypto-ec package before 2.4.0 for OCaml. There is a timing...
- CVE-2026-16037 — Callback Authentication Bypass via Timing Attack in PayTR's PayTR Virtual Pos iFrame API (v9x) WHMCS Module
- CVE-2026-81159 — Commerce CyberSource - Moderately critical - Insufficient input validation - SA-CONTRIB-2026-106
- CVE-2026-84308 — phpseclib — non-constant-time X25519 scalar multiplication permits full private-key recovery
- CVE-2026-82449 — Cockpit CMS before 2.14.1 Account Enumeration via Auth Timing
- CVE-2026-55785 — free5GC AUSF uses non-constant-time authentication comparisons and logs XRES* in 5G-AKA
- CVE-2026-78500 — Dimension Blind SSRF via Database Test Connection Feature
- CVE-2026-80199 — Kimai before 2.54.0 Username Enumeration via Timing Oracle