{"id":"CVE-2026-100670","title":"Grav CMS 2.0.14 through 2.0.24 contains a privilege escalation vulnerability in the group and account blueprints","summary":"Grav CMS 2.0.14 through 2.0.24 contains a privilege escalation vulnerability in the group and account blueprints. The access map is gated by a `security@: admin.super` guard that is resolved by the field's exact path, so a submitted flat…","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-639"],"vendor":"getgrav","product":"grav","affected":["grav < 2.0.25"],"published":"2026-09-26","updated":"2026-09-30","sourceUpdated":"2026-09-30T15:22:15.837","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-100670","references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-mwjj-r7vm-pgqm","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/grav-cms-2.0.14-through-2.0.24-privilege-escalation-via-blueprint-guard-bypass","label":"disclosure@vulncheck.com"},{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-mwjj-r7vm-pgqm","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"total","timestamp":"2026-09-30T14:57:11.982511Z"},"epss":0.00383,"epssPercentile":0.32201,"ingestedAt":"2026-09-26T13:33:20.913Z","slug":"CVE-2026-100670","body":"## Overview\n\nGrav CMS 2.0.14 through 2.0.24 contains a privilege escalation vulnerability in the group and account blueprints. The access map is gated by a `security@: admin.super` guard that is resolved by the field's exact path, so a submitted flat dot-notation key such as `access.admin.super` (instead of the nested `access[admin][super]`) matches no blueprint rule, survives BlueprintSchema::filterArray() and flattening, and is written by FlexObject::update() via setNestedProperty(), which splits on `.` and reconstructs the nested value. An authenticated backend operator using the flex accounts backend who holds admin.users but not admin.super can therefore grant admin.super to their own account or to a group they belong to and escalate to full super-admin, gaining control over configuration, plugin and theme installation, the file manager, and all accounts. Fixed in 2.0.25, which drops any dotted key whose ancestor path is disabled or marked validate.ignore.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"midnight","depthScore":60,"depthScoreParts":{"impact":48.4,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":213721,"id":"CVE-2026-100670","ts":1790780947849,"field":"exploit_available","old":"false","new":"true"}]}