Description
The Grav API plugin (getgrav/grav-plugin-api) before 1.0.13 contains an API-key scope-cap bypass in UsersController's create() and update() methods. These methods enforce the scope cap only for api.users.write, but gate super-privilege grants on a bare isSuperAdmin() check that reads access.api.super directly without consulting the key's scopes. As a result, an api.users.write-scoped key minted on a super account can set access.api.super or assign a super-granting group to mint or promote a full super account, then authenticate as that account for uncapped administrative privileges.
Published: 2026-08-14
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API plugin before version 1.0.13 has an API‑key scope‑cap bypass in the UsersController’s create() and update() methods. The controller enforces the users.write key scope on most user actions, but it performs a separate check for super‑admin privileges that reads the access.api.super flag directly, ignoring the key’s scopes. Consequently, an attacker who can obtain or forge an API key with only the users.write scope—issued by a super‑admin account—can elevate that key to super‑admin status by setting access.api.super to true or assigning the key to a group that grants super‑admin rights. This allows the attacker to gain unrestricted administrative privileges, providing full control over the Grav installation. The weakness corresponds to CWE‑269: Failure to restrict or consider privilege escalation.

Affected Systems

Any Grav installation using the getgrav/grav-plugin-api before version 1.0.13 is affected. The vulnerability is present in every release of the plugin prior to 1.0.13, regardless of other Grav or system components. Administrators should identify if their Grav instance contains the vulnerable API plugin and whether the instance is using an API key with the users.write scope.

Risk and Exploitability

The CVSS score of 8.7 classifies this vulnerability as high. The EPSS score is < 1%, and the issue is not listed in the CISA KEV catalog, indicating no publicly known exploits at the time of this analysis. The likely attack vector is remote; an attacker needs an API key with users.write scope, which can be obtained through credential compromise, key disclosure, or malicious insider activity. Once the key is in hand, the attacker can remotely send API requests to the UsersController to promote themselves to super‑admin without further authentication steps. Given the high CVSS score and the ability to cause complete administrative takeover, the risk of exploitation is substantial in environments where API keys are exposed or poorly protected.

Generated by OpenCVE AI on August 24, 2026 at 11:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Grav API plugin to version 1.0.13 or later to restore proper scope enforcement.
  • Revoke or regenerate any API keys that have the users.write scope and were issued by super‑admin accounts.
  • Check the super‑admin accounts in the system; if any have been created or modified through an API key, reset those accounts and remove any unintended super‑privileges.
  • Disable or restrict API access for non‑critical services until a patch is applied, if possible, to reduce the attack surface.
  • Monitor Grav logs for suspicious user creation or modification events and investigate any anomalies promptly.

Generated by OpenCVE AI on August 24, 2026 at 11:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 24 Aug 2026 10:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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

cvssV4_0

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

cvssV3_1

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

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'}


Fri, 14 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 14 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Description The Grav API plugin (getgrav/grav-plugin-api) before 1.0.13 contains an API-key scope-cap bypass in UsersController's create() and update() methods. These methods enforce the scope cap only for api.users.write, but gate super-privilege grants on a bare isSuperAdmin() check that reads access.api.super directly without consulting the key's scopes. As a result, an api.users.write-scoped key minted on a super account can set access.api.super or assign a super-granting group to mint or promote a full super account, then authenticate as that account for uncapped administrative privileges.
Title Grav before 1.0.13 API Key Scope Bypass via UsersController
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-269
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-24T10:28:33.284Z

Reserved: 2026-08-10T15:12:59.509Z

Link: CVE-2026-72829

cve-icon Vulnrichment

Updated: 2026-08-14T14:46:48.374Z

cve-icon NVD

Status : Deferred

Published: 2026-08-14T12:16:46.157

Modified: 2026-08-31T20:38:54.340

Link: CVE-2026-72829

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-24T11:30:03Z

Weaknesses
  • CWE-269

    Improper Privilege Management