Grav Arbitrary File Read to Account Takeover
Description
Grav is a file-based Web platform. Prior to version 1.7.46, a low privilege user account with page edit privilege can read any server files using Twig Syntax. This includes Grav user account files - /grav/user/accounts/*.yaml. This file stores hashed user password, 2FA secret, and the password reset token. This can allow an adversary to compromise any registered account and read any file in the web server by resetting a password for a user to get access to the password reset token from the file or by cracking the hashed password. A low privileged user may also perform a full account takeover of other registered users including Administrators. Version 1.7.46 contains a patch.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
getgrav/gravPackagist | < 1.7.46 | 1.7.46 |
Affected products
1Patches
11 file changed · +2 −1
system/src/Grav/Common/Security.php+2 −1 modified@@ -225,7 +225,7 @@ public static function detectXss($string, array $options = null): ?string // Set the patterns we'll test against $patterns = [ // Match any attribute starting with "on" or xmlns - 'on_events' => '#(<[^>]+[[a-z\x00-\x20\"\'\/])([\s\/]on|\sxmlns)[a-z].*=>?#iUu', + 'on_events' => '#(<[^>]+[a-z\x00-\x20\"\'\/])(on[a-z]+|xmlns)\s*=[\s|\'\"].*[\s|\'\"]>#iUu', // Match javascript:, livescript:, vbscript:, mocha:, feed: and data: protocols 'invalid_protocols' => '#(' . implode('|', array_map('preg_quote', $invalid_protocols, ['#'])) . ')(:|\&\#58)\S.*?#iUu', @@ -279,6 +279,7 @@ public static function cleanDangerousTwig(string $string): string 'twig.getFunction', 'core.setEscaper', 'twig.safe_functions', + 'read_file', ]; $string = preg_replace('/(({{\s*|{%\s*)[^}]*?(' . implode('|', $bad_twig) . ')[^}]*?(\s*}}|\s*%}))/i', '{# $1 #}', $string); return $string;
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-f8v5-jmfh-pr69ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2024-34082ghsaADVISORY
- github.com/getgrav/grav/commit/b6bba9eb99bf8cb55b8fa8d23f18873ca594e348ghsax_refsource_MISCWEB
- github.com/getgrav/grav/security/advisories/GHSA-f8v5-jmfh-pr69ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.