Description
Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.8, the Grav API plugin intercepts the apiKeyGenerate and apiKeyRevoke admin tasks in user/plugins/api/api.php and authorizes the caller with only admin.login. A basic panel user can select another account from the route, create a persistent ApiKeyManager credential bound to that target, and inherit the target's API permissions, including api.super or administrative write access when present. This issue is fixed in version 1.0.8.
Published: 2026-08-19
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API plugin version prior to 1.0.8 allows users who have only the admin.login role to generate or revoke API keys for any account by specifying the target account in the request. This gives them full API permissions tied to the target account, including administrative write access and the api.super scope, thus enabling them to create a key with unrestricted privileges. The effect is a privilege escalation within the CMS for a lower‑privileged administrator.

Affected Systems

Grav CMS installations that use the Grav API plugin version 1.0.7 or earlier. The plugin is distributed as grav-plugin-api by getgrav. Sites employing older releases than 1.0.8 are directly affected because the authorization checks for key generation and revocation are only present in 1.0.8 and later.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity. An attacker only needs to be authenticated with the admin.login role to exploit this weakness, with no additional network access or remote code execution required. The EPSS score of <1% indicates a very low estimated exploitation probability, though the vulnerability remains high risk because of the privileged outcome. The vulnerability is not listed in the CISA KEV catalog, and the only requirement for exploitation is possession of an admin.login account.

Generated by OpenCVE AI on August 20, 2026 at 15:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Grav API plugin to version 1.0.8 or later, where the authorization check for key generation and revocation has been enforced.
  • Ensure that the API-keyGenerate and apiKeyRevoke endpoints are protected by admin.super authorization to prevent unauthorized key creation.
  • Restrict the use of the admin.login role to trusted accounts only, and evaluate the necessity of granting this role in the site configuration.

Generated by OpenCVE AI on August 20, 2026 at 15:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 19 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Getgrav
Getgrav grav-plugin-api
Vendors & Products Getgrav
Getgrav grav-plugin-api

Wed, 19 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
Description Grav API Plugin is a RESTful API for Grav CMS that provides full headless access to your site's content. Prior to 1.0.8, the Grav API plugin intercepts the apiKeyGenerate and apiKeyRevoke admin tasks in user/plugins/api/api.php and authorizes the caller with only admin.login. A basic panel user can select another account from the route, create a persistent ApiKeyManager credential bound to that target, and inherit the target's API permissions, including api.super or administrative write access when present. This issue is fixed in version 1.0.8.
Title Grav API Plugin: Missing authorization on API-key generate/revoke lets any admin.login user forge keys for any account
Weaknesses CWE-862
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Getgrav Grav-plugin-api
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-19T17:25:09.087Z

Reserved: 2026-07-20T18:31:39.291Z

Link: CVE-2026-64852

cve-icon Vulnrichment

Updated: 2026-08-19T17:21:55.077Z

cve-icon NVD

Status : Received

Published: 2026-08-19T16:18:40.040

Modified: 2026-08-19T18:17:10.520

Link: CVE-2026-64852

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T15:15:03Z

Weaknesses