CVE-2026-65608 Details
Description
Grav versions >= 1.7.0 and before 2.0.9 contain a remote code execution vulnerability. FlexDirectory::dynamicDataField() resolves blueprint data-*@: directives by calling call_user_func_array() on attacker-influenced input, validating only that the target is callable (is_callable()) without restricting dangerous functions such as exec, system, passthru, or shell_exec. Because FlexDirectory registers this handler for every Flex directory, it bypasses the validation added to Blueprint::dynamicData() in 2.0.7 (GHSA-fj2p-qj2f-74v5). Any authenticated user with create or update permission on any Flex-based directory (Flex Users, Flex Pages, Flex Objects, or custom Flex types) can execute arbitrary shell commands on the server.
A remote code execution vulnerability exists in Grav versions 1.7.0 through 2.0.8. The issue arises in the Flex framework, specifically within the `FlexDirectory::dynamicDataField()` method, which processes blueprint `data-*@:` directives. The method calls `call_user_func_array()` on input controlled by the attacker, only verifying that the target is callable, without restricting access to dangerous functions like `exec`, `system`, `passthru`, or `shell_exec`. This vulnerability can be exploited by any authenticated user with create or update permissions on Flex-based directories, such as Flex Users, Flex Pages, Flex Objects, or custom Flex types, allowing them to execute arbitrary shell commands on the server.
Users can upgrade to Grav version 2.0.9, where this vulnerability has been patched.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jul 23, 2026CISA-ADP
Assessed Jul 23, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/getgrav/grav/security/advisories/GHSA-c4wf-2xxc-68qm | CISA-ADP | AdvisoryExploitTechnical AnalysisVendor |
| https://github.com/getgrav/grav/commit/fae9e1bf2c40ce0b50d0dfce647aaa1d22f98969 | [email protected] | Source CodeVendor |
| https://github.com/getgrav/grav/security/advisories/GHSA-c4wf-2xxc-68qm | [email protected] | AdvisoryExploitTechnical AnalysisVendor |
| https://www.vulncheck.com/advisories/grav-before-remote-code-execution-via-flexdirectory | [email protected] | Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-470 | Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Grav | >= 1.7.0, < 2.0.9 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 23, 2026 | CVE Modified | CISA-ADP |
| Jul 23, 2026 | New CVE Received | [email protected] |
Volerion