CVE-2026-112780: Grav 2.0.15 before 2.2.2 Arbitrary Static Method Call via Flex Form replace-name@
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.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this vulnerability?
An attacker needs page-edit permission in Grav. The issue is therefore most relevant where untrusted or insufficiently trusted users can edit pages or Flex form content.
What impact can a successful attacker achieve?
The attacker can invoke arbitrary public static methods by bypassing the callable allowlist with renamed Flex form fields. Reported consequences include deleting directories, overwriting files, and reading files through Folder::delete, Folder::move, or Utils::download.
Which versions are affected?
Grav versions from 2.0.15 before 2.2.2 are affected. Version 2.2.2 is not included in the affected range.
What can be done until an update is applied?
Limit page-edit permission to trusted users, since page-edit access is required for exploitation. Review accounts and roles that can edit pages or Flex form content and remove unnecessary access.