Description
Grav before 2.0.16 allows sandboxed Twig templates to access sensitive User fields through allow-listed offsetGet() and offsetexists() methods that lack field filtering. Attackers with page-edit permissions can call offsetGet() on User objects to extract hashed passwords and 2FA secrets, enabling offline password cracking and authentication bypass.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| getgrav | grav | < 2.0.16 | 2.0.16 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Packagist | getgrav/grav | < 2.0.16 | 2.0.16 | GHSA-3jhr-mxmx-38cx |
References
- GitHub Security Advisory (GHSA-3jhr-mxmx-38cx) vendor-advisory
- VulnCheck Advisory: Grav before 2.0.16 Information Disclosure via offsetGet third-party-advisory