{"id":"CVE-2026-72701","aliases":["GHSA-38p6-h87p-r4cg"],"url":"https://o3.security/vulnerability/CVE-2026-72701","summary":"Grav CMS before 2.0.16 Timing Attack via verifyNonce","details":"Grav CMS before 2.0.16 contains a timing vulnerability in Utils::verifyNonce() that uses non-constant-time string comparison with the === operator instead of hash_equals() for CSRF nonce validation. Attackers can measure response timing differences to recover valid nonce values byte-by-byte through multiple requests, weakening CSRF protection below its intended security margin.","published":"2026-08-25T01:30:23.965Z","modified":"2026-09-02T03:30:31.861958396Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"Packagist","name":"getgrav/grav","fixedVersion":"2.0.16"}],"fix":null,"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72701.json"},{"type":"ADVISORY","url":"https://github.com/getgrav/grav/security/advisories/GHSA-38p6-h87p-r4cg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72701"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/grav-cms-before-timing-attack-via-verifynonce"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-02T03:30:31.861958396Z"}}