CVE-2026-100668 Details
Description
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.
A sandbox escape vulnerability has been identified in Grav versions 2.0.0 through 2.0.24. The issue arises from the `array` filter, which is allowed in the sandbox but lacks the necessary guard to prevent unauthorized access to sensitive data. This vulnerability allows users to read the private `$values` array of the Pimple-based dependency injection container, including un-redacted configuration details such as plugin credentials, SMTP and OAuth secrets, Redis passwords, and proxy URLs. The vulnerability is particularly concerning because the exposed information is rendered to anonymous visitors. Grav 1.7 is not affected as it does not have a Twig content sandbox.
Upgrade to Grav version 2.0.25, where this vulnerability has been fixed. In version 2.0.25, the `array` filter and function, as well as the `yaml` filter, have been updated to respect the sandbox's security policy, preventing unauthorized access to sensitive data.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 26, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/getgrav/grav/security/advisories/GHSA-59qm-58v5-gvc5 | [email protected] | AdvisoryRemedyVendor |
| https://www.vulncheck.com/advisories/grav-before-2.0.25-sandbox-escape-via-array-filter | [email protected] | AdvisoryRemedy |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-200 | Exposure of Sensitive Information to an Unauthorized Actor | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Grav | <= 2.0.24 (semver) |
CPE
Remediation
| |
Change History
1 change record found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 26, 2026 | New CVE Received | [email protected] |
Volerion