What’s Vulnerable › Vulnerabilities
CVE-2026-85604: Grav before 2.0.18 Remote Code Execution via sort filter
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.9% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-04 · updated 2026-09-08
- Weakness: CWE-94
Description
Grav before 2.0.18 (affected versions <= 2.0.17) contains a remote code execution vulnerability in the Twig sort filter. The sortFunc wrapper in GravExtension.php hardcodes Twig's isSandboxed argument to false, so unlike |map/|filter/|reduce, |sort accepts a plain function name inside the sandbox; the remaining denylist misses spl_autoload, which performs a PHP include. An authenticated user with only page-write rights (admin.pages or api.pages.write) can supply a crafted payload (e.g., via form frontmatter rendered by the Email plugin) that invokes spl_autoload through the sort filter, resulting in arbitrary PHP execution as the web server user.
Affected products
- getgrav grav: before 2.0.18 — fixed in 2.0.18
How to fix
Upgrade to a fixed version: getgrav grav 2.0.18. Check the vendor advisory for mitigations.
References
- https://github.com/getgrav/grav/security/advisories/GHSA-p6qj-p5m7-f62h
- https://www.vulncheck.com/advisories/grav-before-2.0.19-remote-code-execution-via-sort-filter
- https://github.com/getgrav/grav/security/advisories/GHSA-p6qj-p5m7-f62h
Get alerted when CVE-2026-85604 or the next vulnerability affects your stack