Information disclosure in Getgrav Grav
CVE-2026-100668
Grav 2.0.0 through 2.0.24 contain a Twig content sandbox escape. The `array` filter (and its identical function form) is on the sandbox allowlist but is registered without the needs_is_sandboxed guard that print_r, vardump, json_encode, yaml_encode and string carry, and its implementation calls toArray() — or falls back to an (array) cast — without consulting the sandbox method allowlist. Because the `grav` Twig global is the raw Pimple-based dependency injection container, a user who can author Twig in page content can evaluate `grav|array` to read the container's private $values array, including the un-redacted Config service; a second array cast returns the entire configuration tree, disclosing plugin credentials, SMTP and OAuth secrets, Redis passwords, proxy URLs and the security.* subtree that the sandbox's redaction is meant to hide. Because the payload is stored in page content, the disclosed configuration is rendered to anonymous visitors. Grav 1.7 is not affected as it has no Twig content sandbox. Fixed in Grav 2.0.25.
Vulnerability class: Information Disclosure
Published · last modified .
CVSS v3 metric
CVSS v3 base score 6.5 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N.
EPSS exploit prediction
No EPSS score from FIRST.org yet. New CVEs usually get one within a few days; no score means no signal yet, not low risk. How EPSS works.
Affected products
Weakness classification (CWE)
References
- github.com/getgrav/grav/security/advisories/GHSA-59qm-58v5-gvc5 (vendor-advisory)
- www.vulncheck.com/advisories/grav-before-2.0.25-sandbox-escape-via-array-filter (third-party-advisory)
Frequently asked questions
- What is CVE-2026-100668?
- CVE-2026-100668 is a medium-severity vulnerability in Getgrav Grav, classified under Information Disclosure. CVSS score: 6.5/10. Published 2026-09-26.
- How severe is CVE-2026-100668?
- Medium severity. CVSS v3 base score is 6.5 out of 10.