Grav: Allowlist bypass allows arbitrary static method calls via Flex forms
Summary
Grav versions 2.0.15 up to 2.2.1 contain an allowlist bypass in Flex forms. An editor with page-edit permission can rename a form field with replace-name@ to smuggle data-*@ directives past the callable check and invoke Folder::delete, Folder::move, Folder::copy or Utils::download. This allows deleting directories, overwriting files and reading files outside the page tree. The directive runs when the page form is built, so an administrator who opens the page may also be affected.
Affected
- Grav 2.0.15 to 2.2.1 (CVE record: before 2.2.2)
- Per GHSA-47gg-mh38-9rr7, the bypass still works up to 2.2.12
Fixed in
- Grav 2.2.2 (per CVE record; the follow-up advisory states this fix was incomplete)
- Grav 2.2.13 (per GHSA-47gg-mh38-9rr7)
- Latest 2.2.x release (current version to be verified on the official Grav release page)
Workaround
- Unknown. No vendor workaround documented.
- Restrict page-edit permission to trusted editors only.
Exploitation
- Not listed in CISA KEV according to the sources reviewed; no known exploitation reported.
- CISA SSVC: exploitation none, automatable no, technical impact total.
- No public proof of concept found.
Our recommendation
- Identify all Grav instances and their versions.
- Upgrade to at least 2.2.13, preferably the latest 2.2.x release.
- Review and limit accounts with page-edit permission.
- Monitor for unexpected changes to files and directories.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-9rq7-4cch-f22j github.com
- GitHub Security Advisory GHSA-47gg-mh38-9rr7 (incomplete fix, follow-up) github.com
- VulnCheck advisory www.vulncheck.com
- Grav 2.2.2 release notes github.com
- VulDB entry 422520 vuldb.com
- OpenCVE CVE-2026-112780 app.opencve.io
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 01:14.
Original description (NVD)
Grav from 2.0.15 before 2.2.2 contains an allowlist bypass vulnerability that allows page editors to call arbitrary public static methods by renaming Flex form fields with replace-name@. Attackers with page-edit permission can smuggle data-*@ directives past the callable check to invoke Folder::delete, Folder::move, or Utils::download, deleting directories, overwriting files, or reading files.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
