Description
The Grav api plugin (grav-plugin-api) before 1.0.8 fails to properly authorize API key generation and revocation: the plugin intercepts the apiKeyGenerate/apiKeyRevoke admin tasks before the account-management ACL runs and authorizes the caller on only the admin.login permission (the baseline permission held by every panel user). This allows any user with admin.login to mint a persistent API key bound to any account, and the forged key inherits the target account's API permissions. On installs where an API-enabled account holds broader permissions, this enables account impersonation and privilege escalation up to account takeover.
Published: 2026-07-21
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API plugin fails to enforce proper authorization before allowing API key generation or revocation. Because the plugin intercepts tasks before the account‑management ACL authorizes the caller, any user who has the basic admin.login permission can create a persistent API key tied to any target account. The forged key inherits the permissions of the target account, which on installations where the account has wider privileges enables impersonation and full privilege escalation, effectively allowing an attacker to take over the account.

Affected Systems

This flaw affects installations of Grav using the grav-plugin-api before version 1.0.8. The affected product is Grav by getgrav; any site running Grav prior to the 1.0.8 release is vulnerable.

Risk and Exploitability

The CVSS score of 8.7 indicates a high severity risk. The EPSS score is less than 1%, suggesting a low but non‑zero likelihood of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Because the attack relies solely on the admin.login permission, which every panel user possesses, an internal attacker or compromised user can easily spawn the attack. The attacker can then generate a key bound to a target user, granting full API access and full account control. Thus the exploit path is simple and requires no external access beyond normal administrative login privileges.

Generated by OpenCVE AI on July 30, 2026 at 17:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Grav to version 1.0.8 or newer, which includes the authorization fix for API key generation and revocation.
  • If the upgrade cannot be performed immediately, restrict the admin.login permission to a narrow set of trusted users to limit the number of accounts that can generate API keys.
  • Audit existing API keys for unexpected ownership and consider rotating or revoking keys that were created before the vulnerability was fixed.

Generated by OpenCVE AI on July 30, 2026 at 17:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 21 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Description The Grav api plugin (grav-plugin-api) before 1.0.8 fails to properly authorize API key generation and revocation: the plugin intercepts the apiKeyGenerate/apiKeyRevoke admin tasks before the account-management ACL runs and authorizes the caller on only the admin.login permission (the baseline permission held by every panel user). This allows any user with admin.login to mint a persistent API key bound to any account, and the forged key inherits the target account's API permissions. On installs where an API-enabled account holds broader permissions, this enables account impersonation and privilege escalation up to account takeover.
Title Grav before 1.0.8 Missing Authorization on API Key Generation
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-862
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

{'score': 9.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N'}

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-23T14:29:10.593Z

Reserved: 2026-07-21T11:32:54.896Z

Link: CVE-2026-65007

cve-icon Vulnrichment

Updated: 2026-07-23T14:28:50.937Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T18:00:15Z

Weaknesses