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.
Published: 2026-08-03
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

No analysis available yet.

Remediation

No remediation available yet.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 03 Aug 2026 13:45:00 +0000

Type Values Removed Values Added
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.
Title Grav CMS 2.0.7 through 2.0.10 Arbitrary Method Invocation via Blueprint
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-94
CPEs cpe:2.3:a:getgrav:grav:1.7.53.1:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:1.7.53.2:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:1.7.53:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:-:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc10:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc5:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc6:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc7:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc8:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc9:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.10:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.1:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.2:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.3:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.4:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.5:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.6:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.7:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.8:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.9:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-03T13:20:42.911Z

Reserved: 2026-08-03T10:42:57.737Z

Link: CVE-2026-69088

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')