CVE-2026-65008
CRITICAL
CVSS 9.3
grav
Verified Advisory
Remote code execution via unrestricted callable in Grav CMS (CVE-2026-65008)
Grav's Blueprint::dynamicData() passes a Class::method callable string and its arguments directly to call_user_func_array() without any allowlist. An authenticated account with the admin.pages or api.pages.write permission can plant a malicious callable directive in a page's frontmatter, causing arbitrary shell commands to execute as the web-server user whenever any visitor - including unauthenticated ones - accesses that page.
Affected versions:
- 2.0.4
We recommend updating to: 2.0.7.
CVSS 9.3 · our assessment: act_now
Reference: https://github.com/getgrav/grav/security/advisories/GHSA-fj2p-qj2f-74v5
Details: https://vuln.today/cve/CVE-2026-65008
Verified by vuln.today against published advisories.
Affected versions
- – 2.0.4
Fixed in: 2.0.7
More advisories for grav
- CVE-2026-65608 – Remote code execution in Grav CMS via unchecked callable in FlexDirectory (CVE-2026-65608)
- CVE-2026-65895 – Broken access control in Grav API Plugin configuration scopes (CVE-2026-65895)
- CVE-2026-65896 – Path traversal in Grav API Plugin POST /pages/{route}/move endpoint (CVE-2026-65896)
- CVE-2026-65897 – Privilege escalation via unvalidated groups field in Grav API Plugin (CVE-2026-65897)
- CVE-2026-65603 – Privilege Escalation via profile self-update in Grav Login plugin (CVE-2026-65603)
- CVE-2026-65007 – Missing authorization on API key generation in Grav API plugin (CVE-2026-65007)
- CVE-2026-62230 – Case-sensitive extension filtering bypass in Grav CMS (CVE-2026-62230)
- CVE-2026-62231 – Authorization bypass in Grav API plugin (CVE-2026-62231)