# CVE-2026-86195: Getgrav grav-plugin-api privilege escalation via dot-keyed super flag

Source: https://junglewise.ai/threats/cve-2026-86195-getgrav-grav-plugin-api-privilege-escalation-via-dot-keyed-super  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-05. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-86195 · Severity: info · CVSS 8.7 · Published 2026-09-05

Grav's API plugin is used to manage user accounts and permissions on Grav-based websites. A flaw in the invitation system allows a user manager (a delegated admin role with limited privileges) to secretly create a super-admin account by bypassing access controls. An attacker can exploit this through an unauthenticated public endpoint to gain full site control, including the ability to upload plugins and execute arbitrary code.

Technologies: [Getgrav Grav-Plugin-Api](https://junglewise.ai/threats/technologies/grav-plugin-api). Vendors: [Getgrav](https://junglewise.ai/threats/vendors/getgrav).

## Quick answers

**Is CVE-2026-86195 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-86195 being exploited in the wild.

**How severe is CVE-2026-86195?** Informational severity, with a CVSS score of 8.7, published 5 September 2026.

**Which products and versions are affected?** Getgrav Grav-Plugin-Api 1.0.0 through 1.0.19.

**Is there a fix for CVE-2026-86195?** A patch was published on 2026-09-05: Fixed in version 1.0.20 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-86195 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-86195?** Check whether you run Getgrav Grav-Plugin-Api at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a privilege escalation in the InvitationsController::stripSuperFlags() method, which is intended to prevent non-super users from granting super-admin privileges via invitation. The guard only removes nested super flags (e.g., ['api' => ['super' => true]]) but fails to strip dot-keyed equivalents (e.g., ['api.super' => true]). Grav's permission resolver treats both forms as identical. An attacker with api.access and api.users.write permissions can create an invitation with {"api.super": true} in the access payload, which bypasses the guard and persists when the invitation is accepted. The public /accept endpoint requires no authentication or real invitee interaction, returning a valid JWT for the newly created super-admin account. The vulnerability affects grav-plugin-api 1.0.0 through 1.0.19 and is fixed in 1.0.20.

## Affected products

- Getgrav grav-plugin-api 1.0.0 through 1.0.19

## Timeline

- 2026-08-21: disclosed: GitHub Security Advisory published
- 2026-09-05: advisory: NVD entry published
- 2026-09-05: patched: Fixed in version 1.0.20

## References

- [https://github.com/getgrav/grav/security/advisories/GHSA-m363-3hww-gcwc](https://github.com/getgrav/grav/security/advisories/GHSA-m363-3hww-gcwc)
- [https://www.vulncheck.com/advisories/grav-plugin-api-1.0.0-through-1.0.19-privilege-escalation-via-dot-keyed-super-flag](https://www.vulncheck.com/advisories/grav-plugin-api-1.0.0-through-1.0.19-privilege-escalation-via-dot-keyed-super-flag)

## Related threats

- [Grav grav-plugin-api privilege escalation in access grant validation](https://junglewise.ai/threats/cve-2026-109317-grav-grav-plugin-api-before-1-0-36-contains-a-privilege)
- [Grav API plugin missing authorization in scope validation](https://junglewise.ai/threats/cve-2026-75835-grav-api-plugin-missing-authorization-in-scope-validation)
