Vulnerability Description
The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey. The self-target path of requireApiKeyPermission() requires only the baseline api.access scope, and the new key's scopes are read directly from the request body with no subset check. An attacker holding a minimal-scope API key on a super account can submit an empty scopes array to mint an unscoped, full-access super key, bypassing scope restrictions (and enabling further chains such as configuration write to RCE).
CVSS Score
HIGH
Related Weaknesses (CWE)
References
- https://github.com/getgrav/grav/security/advisories/GHSA-95v9-4fcj-96gh
- https://www.vulncheck.com/advisories/grav-before-scope-bypass-via-createapikey
- https://github.com/getgrav/grav/security/advisories/GHSA-95v9-4fcj-96gh
FAQ
What is CVE-2026-72826?
CVE-2026-72826 is a vulnerability with a CVSS score of 8.8 (HIGH). The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey. The self-target path of requireApiKey...
How severe is CVE-2026-72826?
CVE-2026-72826 has been rated HIGH with a CVSS base score of 8.8/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-72826?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.