Cyber Resilience

CVE-2026-65608

Public PoC
Published
23 July 2026
Modified
08 October 2026
CVSS Score v4 8.7
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.013 69th percentile
Risk Priority 42 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-65608 is a high-severity Unsafe Reflection (CWE-470) vulnerability. Its CVSS base score is 8.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Reflective Code Loading (T1620); ranked in the top 31% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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,…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1620 Reflective Code Loading Stealth
Adversaries may reflectively load code into a process in order to conceal the execution of malicious payloads.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-8015Shared CWE-470
CVE-2025-63690Shared CWE-470
CVE-2026-70410Shared CWE-470
CVE-2024-7059Shared CWE-470
CVE-2024-0200Shared CWE-470
CVE-2024-8048Shared CWE-470
CVE-2026-79987Shared CWE-470
CVE-2024-4990Shared CWE-470
CVE-2026-40008Shared CWE-470
CVE-2026-106440Shared CWE-470

Affected Assets

—
Grav
inferred from references and description; NVD did not file a CPE for this CVE

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Input validation directly stops externally supplied class or method names from selecting improper code via reflection.

Enforces authorization checks on the code or classes ultimately invoked, blocking unauthorized selections even if reflection is used.

Limits privileges of any code reached through unsafe reflection, reducing blast radius without stopping the selection itself.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

ID.RA-01 partial match
blocks

Vulnerability identification processes can discover unsafe reflection during code review or scanning.

PR.PS-05 partial match
blocks

Preventing execution of unauthorized code can block exploitation of unsafe reflection at runtime.

PR.PS-06 partial match
blocks

Secure SDLC practices directly avoid introducing externally controlled class selection via reflection.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

A.8.25 mandates secure SDLC practices including secure coding guidelines, security requirements, checkpoints, testing (scans/penetration), and developer training that can catch/prevent unsafe reflection flaws during development; this stops exploitation for a minority slice (first-party code written under the process) but leaves the bulk of the weakness (e.g. in third-party libraries, legacy code, or incomplete enforcement) untouched.

blocks

Application security requirements can explicitly prohibit or constrain reflection based on untrusted input.

blocks

A.8.27 mandates security-by-design principles (e.g. distrust external input, least privilege, secure session control, data validation/sanitization, design reviews against attack patterns) that reach a slice of unsafe reflection cases but leave a bounded remainder (e.g. reflection in third-party libraries or dynamic class loading where principles are applied incompletely).

prevents

Secure coding standards directly forbid unsafe reflection and require whitelisting or static alternatives.

References