The Grav API plugin (getgrav/grav-plugin-api) before 1.0.6 contains an authorization bypass: API keys can be created with a restricted scopes array, but the ApiKeyAuthenticator class never reads or enforces these scopes. It loads and returns the owning user's full account object, so a key created with limited scopes (e.g. read-only) can perform any write, delete, or administrative operation the owning user is authorized for. Fixed in 1.0.6.
https://www.vulncheck.com/advisories/grav-api-key-scope-bypass-via-apikeyauthenticator
https://github.com/getgrav/grav/security/advisories/GHSA-x7hm-jc32-v39j
Published: 2026-07-17
Updated: 2026-07-17
Base Score: 8.5
Vector: CVSS2#AV:N/AC:L/Au:S/C:C/I:C/A:N
Severity: High
Base Score: 8.1
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Severity: High
Base Score: 8.6
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Severity: High