Description
Grav Plugin API (getgrav/grav-plugin-api) before 1.0.13 fails to enforce API-key scope caps in InvitationsController. The strip-super and accept-groups decisions are gated on a bare isSuperAdmin() check rather than a scope-aware permission check, so a least-privilege API key (scoped to api.users.write) minted on a super account can create an invitation record containing super-admin access flags. When the invitation is accepted, those flags are written verbatim to the new account, resulting in privilege escalation to a fully controlled super account.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| getgrav | grav | < 1.0.13 | 1.0.13 |
References
- GitHub Security Advisory (GHSA-wvpj-fg8h-843q) vendor-advisory
- VulnCheck Advisory: Grav before 1.0.13 API Key Scope Bypass via InvitationsController third-party-advisory