Description
The Grav API plugin (getgrav/grav-plugin-api) before 1.0.6 contains an authorization bypass: API keys can be created with a restricted scopes array, but the ApiKeyAuthenticator class never reads or enforces these scopes. It loads and returns the owning user's full account object, so a key created with limited scopes (e.g. read-only) can perform any write, delete, or administrative operation the owning user is authorized for. Fixed in 1.0.6.
Published: 2026-07-17
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API plugin before 1.0.6 allows an attacker to create an API key with a limited scopes array, but the ApiKeyAuthenticator ignores these scopes and instead returns the full account object of the key owner. This means a key that is intended to be read‑only can perform any write, delete, or administrative action that the owning user can normally do. The vulnerability is an authorization bypass that results in privilege escalation within the Grav installation.

Affected Systems

Affected is the Grav CMS (getgrav:grav) with the Grav API plugin (getgrav/grav-plugin-api) version earlier than 1.0.6. The issue was fixed in plugin release 1.0.6; all earlier versions remain vulnerable.

Risk and Exploitability

With a CVSS score of 8.6 the vulnerability is considered high severity. The EPSS score is <1 %, indicating a very low probability of widespread exploitation at the moment, and it is not listed in the CISA KEV catalog. Nevertheless, an attacker who knows or can guess an API key can send authenticated requests to any API endpoint and perform arbitrary privileged operations, affecting the entire system’s integrity and confidentiality. Attackers are likely to target systems with exposed API endpoints and could gain administrative control through a compromised key.

Generated by OpenCVE AI on July 31, 2026 at 00:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Grav API plugin to version 1.0.6 or later, which adds proper scope enforcement
  • If upgrading immediately is not possible, temporarily disable the API plugin or restrict its access to trusted IP addresses until the patch is applied
  • Revoke all existing API keys after patching and regenerate them with the appropriate, least‑privilege scopes to prevent future misuse

Generated by OpenCVE AI on July 31, 2026 at 00:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 21 Jul 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 17 Jul 2026 00:30:00 +0000

Type Values Removed Values Added
Description The Grav API plugin (getgrav/grav-plugin-api) before 1.0.6 contains an authorization bypass: API keys can be created with a restricted scopes array, but the ApiKeyAuthenticator class never reads or enforces these scopes. It loads and returns the owning user's full account object, so a key created with limited scopes (e.g. read-only) can perform any write, delete, or administrative operation the owning user is authorized for. Fixed in 1.0.6.
Title Grav < 1.0.6 API Key Scope Bypass via ApiKeyAuthenticator
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-863
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-21T01:21:38.952Z

Reserved: 2026-07-13T16:40:10.961Z

Link: CVE-2026-62231

cve-icon Vulnrichment

Updated: 2026-07-21T01:21:33.267Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T01:00:14Z

Weaknesses