CVE-2026-100668: Exposure of Sensitive Information to an Unauthorized Actor in getgrav grav
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.
AI Analysis
Technical Summary
Grav 2.0.0 through 2.0.24 have a Twig content sandbox escape vulnerability due to the 'array' filter being registered without the necessary sandbox guard. This allows an attacker able to author Twig in page content to evaluate 'grav|array' and access the private $values array of the dependency injection container, exposing sensitive configuration data such as plugin credentials, SMTP and OAuth secrets, Redis passwords, proxy URLs, and security-related configuration. The disclosed data is rendered to anonymous visitors because the payload is stored in page content. Grav 1.7 is not affected as it lacks the Twig content sandbox. The issue is fixed in Grav 2.0.25.
Potential Impact
An attacker with the ability to author Twig templates in page content can extract sensitive configuration information including credentials and secrets, potentially leading to further compromise of the system or connected services. The exposure affects all users, including anonymous visitors, as the leaked data is rendered in page content.
Mitigation Recommendations
Upgrade Grav to version 2.0.25 or later where this vulnerability is fixed. No other mitigations are indicated by the vendor advisory.
CVE-2026-100668: Exposure of Sensitive Information to an Unauthorized Actor in getgrav grav
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.
CVSS v4.0
Score 7.1high
Affected software
getgrav
grav
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Grav 2.0.0 through 2.0.24 have a Twig content sandbox escape vulnerability due to the 'array' filter being registered without the necessary sandbox guard. This allows an attacker able to author Twig in page content to evaluate 'grav|array' and access the private $values array of the dependency injection container, exposing sensitive configuration data such as plugin credentials, SMTP and OAuth secrets, Redis passwords, proxy URLs, and security-related configuration. The disclosed data is rendered to anonymous visitors because the payload is stored in page content. Grav 1.7 is not affected as it lacks the Twig content sandbox. The issue is fixed in Grav 2.0.25.
Potential Impact
An attacker with the ability to author Twig templates in page content can extract sensitive configuration information including credentials and secrets, potentially leading to further compromise of the system or connected services. The exposure affects all users, including anonymous visitors, as the leaked data is rendered in page content.
Mitigation Recommendations
Upgrade Grav to version 2.0.25 or later where this vulnerability is fixed. No other mitigations are indicated by the vendor advisory.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-09-26T02:34:55.635Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6ab7c9a9f7a7c5410652fd3f
Added to database: 09/26/2026, 13:33:29 UTC
Last enriched: 09/26/2026, 13:49:11 UTC
Last updated: 09/27/2026, 04:31:27 UTC
Views: 13
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.