CVE-2026-72829: Grav before 1.0.13 API Key Scope Bypass via UsersController
The Grav API plugin (getgrav/grav-plugin-api) before 1.0.13 contains an API-key scope-cap bypass in UsersController's create() and update() methods. These methods enforce the scope cap only for api.users.write, but gate super-privilege grants on a bare isSuperAdmin() check that reads access.api.super directly without consulting the key's scopes. As a result, an api.users.write-scoped key minted on a super account can set access.api.super or assign a super-granting group to mint or promote a full super account, then authenticate as that account for uncapped administrative privileges.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
getgrav/grav-plugin-apito a version that resolves this vulnerability.Fixed in 1.0.13 - Compensating control
Until the Grav plugin (getgrav/grav-plugin-api) is upgraded to 1.0.13, do not mint or use api.users.write-scoped API keys on super accounts, since such keys can set access.api.super or assign a super-granting group enabling uncapped super administrative privileges.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-72829?
CVE-2026-72829 has a severity score of 9.8, indicating it is critical.
How do I fix CVE-2026-72829?
To fix CVE-2026-72829, upgrade to Grav API plugin version 1.0.13 or later.
What are the risks associated with CVE-2026-72829?
CVE-2026-72829 allows unauthorized users to bypass API key scope controls, potentially leading to privilege escalation.
Which versions of Grav are affected by CVE-2026-72829?
CVE-2026-72829 affects all versions of the Grav API plugin prior to 1.0.13.
What components are involved in CVE-2026-72829?
CVE-2026-72829 involves the Grav API plugin, specifically the UsersController's create() and update() methods.