CVE-2026-85604
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Summary
Grav before 2.0.19 (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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| getgrav | grav | 0 < 2.0.19 | affected |
| getgrav | grav | 2.0.19 | unaffected |
Weaknesses
- CWE-94: Improper Control of Generation of Code ('Code Injection')
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
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.