---
id: CVE-2026-72700
title: >-
  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…
summary: >-
  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…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-208
published: '2026-08-25'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T13:42:44.383'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-72700'
references:
  - url: 'https://github.com/getgrav/grav/security/advisories/GHSA-x239-6jqx-5hjh'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/grav-before-timing-attack-via-non-constant-time-token-comparison
    label: disclosure@vulncheck.com
  - url: 'https://github.com/getgrav/grav/security/advisories/GHSA-x239-6jqx-5hjh'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.00432
epssPercentile: 0.34885
ingestedAt: '2026-09-16T13:56:12.598Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
