Description
Grav 2.0.15 before 2.2.13 contains an allowlist bypass vulnerability that allows page editors to invoke arbitrary public static methods by relocating data-*@ directives with unset-name@ or integer keys. Attackers with page-edit permission can embed crafted fields in Flex form overrides in page frontmatter to call methods like Folder::delete or Utils::download, deleting directories, overwriting files, or reading files outside the page tree.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| getgrav | grav | 2.0.15 – < 2.2.13 | 2.2.13 |
References
- GitHub Security Advisory (GHSA-47gg-mh38-9rr7) vendor-advisory
- https://github.com/getgrav/grav/commit/4d9e3935f6b79cc1a157914554ccca6066a16f87 patch
- grav 2.2.13 Release Notes release-notes
- https://github.com/getgrav/grav/blob/2.2.12/system/src/Grav/Common/Data/Blueprint.php technical-description
- VulnCheck Advisory: Grav 2.0.15 before 2.2.13 Allowlist Bypass via Flex Form Override Directives third-party-advisory