Vulnerability · NVD published 2026-08-03
CVE-2026-69088
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.
Signals
- Exploited in the wild
- Not on KEVNot in CISA's catalogue as of the last daily pull. Absence is not proof of safety.
- EPSS · 30-day forecast
- 0%Chance of exploitation in the next 30 days, 21th percentile of all CVEs. A forecast; KEV outranks it.
- CVSS · NVD · HIGH
- 8.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
- Internet exposure
- not stated by sourcesNo exposure census on this CVE's dispatches.
Exploits
not checkedNot checked yet. Our exploit watch has not looked at this CVE, so this says nothing either way.
On the wire
1 dispatchWatch this one?
KEV additions reach Telegram and the KEV-only RSS as they land.
Check your stack
Paste what you run: the CVEs exploited in the wild against it, and who is cited as exploiting them, with the report.
Stack checkNo key. No signup.