CVE-2026-65897
Grav API Plugin versions before 1.0.10 fail to validate the groups field in InvitationsController::create(), allowing authenticated api.users.write callers to assign invited accounts to groups that grant api.super permissions. Attackers can create invitation records with elevated group membership, and when accepted, the new account gains full super-admin API access without the inviter holding those permissions.
Weakness
Grav API Plugin versions before 1.0.10 fail to validate the groups field in InvitationsController::create(), allowing authenticated api.users.write callers to assign invited accounts to groups that grant api.super permissions. Attackers can create invitation records with elevated group membership, and when accepted, the new account gains full super-admin API access without the inviter holding those permissions.
References
- https://github.com/getgrav/grav-plugin-api/commit/f9438d4e71389b1041ac60b69b0b5714ecfa3bdd
- https://github.com/getgrav/grav/commit/345e79e3abf8c15f80e612a09f6643300071324b
- https://github.com/getgrav/grav/security/advisories/GHSA-m86m-jjcg-gcvv
- https://www.vulncheck.com/advisories/grav-api-plugin-privilege-escalation-via-invitations-groups
- https://github.com/getgrav/grav/security/advisories/GHSA-m86m-jjcg-gcvv
Find the bug before an attacker does.
Sign in with GitHub and run your first audit in under a minute. The free plan needs no credit card.