CVE-2026-69088: Improper Control of Generation of Code ('Code Injection') in getgrav grav
Grav CMS versions 2.0.7 through 2.0.10 fail to validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because Blueprint::isSafeDynamicCall() only applies its dangerous-callable denylist to strings that do not contain '::'. An account with only page-editing rights (admin.pages, not super-admin or admin.pages_twig) can plant a directive in a page's form-field frontmatter that invokes an arbitrary public static PHP method with attacker-controlled arguments. Using built-in gadget methods this allows reading of any server-readable file (disclosed to anonymous visitors of the crafted page) and arbitrary creation/copying of files and directories under the web-server account. Fixed in 2.0.11.
AI Analysis
Technical Summary
Grav CMS versions 2.0.7 through 2.0.10 fail to properly validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because the denylist in Blueprint::isSafeDynamicCall() does not apply to strings containing '::'. An attacker with page-editing privileges (admin.pages) can inject a directive in a page's form-field frontmatter to invoke arbitrary public static PHP methods with attacker-controlled arguments. This allows reading any server-readable file and arbitrary creation or copying of files and directories under the web server account. The issue is resolved in version 2.0.11.
Potential Impact
An attacker with limited privileges (page-editing rights) can exploit this vulnerability to perform code injection, leading to arbitrary file read and write operations on the server. This can disclose sensitive files to anonymous visitors and allow unauthorized file system modifications under the web server's permissions. The vulnerability poses a high risk to confidentiality and integrity of the affected system.
Mitigation Recommendations
A fix is available in Grav CMS version 2.0.11. Users should upgrade to version 2.0.11 or later to remediate this vulnerability. No vendor advisory content was provided to indicate alternative mitigations or temporary fixes.
CVE-2026-69088: Improper Control of Generation of Code ('Code Injection') in getgrav grav
Description
Grav CMS versions 2.0.7 through 2.0.10 fail to validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because Blueprint::isSafeDynamicCall() only applies its dangerous-callable denylist to strings that do not contain '::'. An account with only page-editing rights (admin.pages, not super-admin or admin.pages_twig) can plant a directive in a page's form-field frontmatter that invokes an arbitrary public static PHP method with attacker-controlled arguments. Using built-in gadget methods this allows reading of any server-readable file (disclosed to anonymous visitors of the crafted page) and arbitrary creation/copying of files and directories under the web-server account. Fixed in 2.0.11.
CVSS v4.0
Score 8.6high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Grav CMS versions 2.0.7 through 2.0.10 fail to properly validate fully-qualified static method calls (Class::method) in blueprint dynamic-field directives because the denylist in Blueprint::isSafeDynamicCall() does not apply to strings containing '::'. An attacker with page-editing privileges (admin.pages) can inject a directive in a page's form-field frontmatter to invoke arbitrary public static PHP methods with attacker-controlled arguments. This allows reading any server-readable file and arbitrary creation or copying of files and directories under the web server account. The issue is resolved in version 2.0.11.
Potential Impact
An attacker with limited privileges (page-editing rights) can exploit this vulnerability to perform code injection, leading to arbitrary file read and write operations on the server. This can disclose sensitive files to anonymous visitors and allow unauthorized file system modifications under the web server's permissions. The vulnerability poses a high risk to confidentiality and integrity of the affected system.
Mitigation Recommendations
A fix is available in Grav CMS version 2.0.11. Users should upgrade to version 2.0.11 or later to remediate this vulnerability. No vendor advisory content was provided to indicate alternative mitigations or temporary fixes.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-08-03T10:42:57.737Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a7098b1bf32cb7a34a82328
Added to database: 08/03/2026, 13:33:37 UTC
Last enriched: 08/03/2026, 13:48:40 UTC
Last updated: 08/03/2026, 22:33:11 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.