CVE-2026-65608: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') in getgrav grav
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.
AI Analysis
Technical Summary
CVE-2026-65608 is a remote code execution vulnerability in Grav CMS affecting versions >=1.7.0 and <2.0.9. The vulnerability exists because FlexDirectory::dynamicDataField() uses call_user_func_array() on attacker-controlled input to resolve blueprint data-*@: directives, validating only that the target is callable but not restricting dangerous functions such as exec, system, passthru, or shell_exec. Since FlexDirectory registers this handler for every Flex directory, it bypasses the validation added to Blueprint::dynamicData() in version 2.0.7. Any authenticated user with create or update permissions on Flex-based directories can exploit this to execute arbitrary shell commands on the server.
Potential Impact
An attacker with authenticated access and create or update permissions on any Flex-based directory can execute arbitrary shell commands on the server, leading to full remote code execution. This can compromise the confidentiality, integrity, and availability of the affected system.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict authenticated user permissions to prevent unauthorized create or update actions on Flex-based directories. Monitor vendor channels for updates and apply patches promptly once released.
CVE-2026-65608: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') in getgrav grav
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.
CVSS v4.0
Score 8.7high
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
CVE-2026-65608 is a remote code execution vulnerability in Grav CMS affecting versions >=1.7.0 and <2.0.9. The vulnerability exists because FlexDirectory::dynamicDataField() uses call_user_func_array() on attacker-controlled input to resolve blueprint data-*@: directives, validating only that the target is callable but not restricting dangerous functions such as exec, system, passthru, or shell_exec. Since FlexDirectory registers this handler for every Flex directory, it bypasses the validation added to Blueprint::dynamicData() in version 2.0.7. Any authenticated user with create or update permissions on Flex-based directories can exploit this to execute arbitrary shell commands on the server.
Potential Impact
An attacker with authenticated access and create or update permissions on any Flex-based directory can execute arbitrary shell commands on the server, leading to full remote code execution. This can compromise the confidentiality, integrity, and availability of the affected system.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict authenticated user permissions to prevent unauthorized create or update actions on Flex-based directories. Monitor vendor channels for updates and apply patches promptly once released.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-07-22T10:48:36.000Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a6207989c2644c7f80b69f4
Added to database: 07/23/2026, 12:22:48 UTC
Last enriched: 07/30/2026, 22:46:49 UTC
Last updated: 09/05/2026, 12:40:51 UTC
Views: 94
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.