---
id: CVE-2026-114660
title: Grav 2.0.0 before 2.2.5 Unauthorized Page Deletion via Flex Form Directives
summary: >-
  Grav from 2.0.0 before 2.2.5 contains an improper access control vulnerability
  in FlexDirectory::dynamicFlexField() that allows page authors to call
  arbitrary Flex object methods via flex-*@ directives in page frontmatter. When
  a user wi…
severity: medium
cvss: 6.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L'
cvssSource: cna
cwe:
  - CWE-470
vendor: getgrav
product: grav
affected:
  - grav >= 2.0.0 < 2.2.5
published: '2026-10-22'
updated: '2026-10-22'
sourceUpdated: '2026-10-22T01:43:44.845Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-114660'
references:
  - url: 'https://github.com/getgrav/grav/security/advisories/GHSA-95jr-q4xh-27vr'
    label: GitHub Security Advisory (GHSA-95jr-q4xh-27vr)
  - url: >-
      https://www.vulncheck.com/advisories/grav-2.0.0-before-2.2.5-unauthorized-page-deletion-via-flex-form-directives
    label: >-
      VulnCheck Advisory: Grav 2.0.0 before 2.2.5 Unauthorized Page Deletion via
      Flex Form Directives
tags:
  - cve.org
ingestedAt: '2026-10-22T02:23:25.181Z'
---

## Overview

Grav from 2.0.0 before 2.2.5 contains an improper access control vulnerability in FlexDirectory::dynamicFlexField() that allows page authors to call arbitrary Flex object methods via flex-*@ directives in page frontmatter. When a user with page edit rights opens the page, directives calling setStorageKey() and delete() run in their session, deleting protected pages neither account may delete.

## Affected

- `grav >= 2.0.0 < 2.2.5`

## Remediation

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