---
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-26'
sourceUpdated: '2026-09-26T14:16:50.697'
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
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-26T13:33:20.913Z'
---

## Overview

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 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.

## Remediation

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