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).
References
Configurations
No configuration.
History
No history.
Information
Published : 2026-08-14 12:16
Updated : 2026-09-08 20:32
NVD link : CVE-2026-72826
Mitre link : CVE-2026-72826
CVE.ORG link : CVE-2026-72826
JSON object : View
Products Affected
No product.
CWE
CWE-266
Incorrect Privilege Assignment
