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.6, Grav API plugin UsersController::createApiKey(), generate2fa(), and disable2fa() omit the accessGrantsSuper() target check used by sibling user mutation endpoints. A non-super account with api.users.write can mint an API key bound to an access.api.super target through requireApiKeyPermission(), obtain the target's full privileges because key scopes are not enforced, and create persistent super-administrator access; the same missing check also permits rotating or disabling the target's two-factor authentication. This issue is fixed in version 1.0.6.
Published: 2026-08-19
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav API Plugin’s UsersController::createApiKey lacks a check for super access rights, letting an ordinary user with api.users.write permission generate an API key that binds to an access.api.super target. Because API key scopes are not enforced, the key grants full super‑administrator privileges and can also be used to remove or rotate two‑factor authentication for the target account. The resulting impact is the creation of persistent, unrestricted super‑admin access for the attacker.

Affected Systems

All Grav CMS installations running Grav API plugin older than version 1.0.6 are affected. The vulnerability is present in the getgrav:grav-plugin-api package before the 1.0.6 release. Users of earlier releases should verify their current API plugin version and update accordingly.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity. The EPSS score of < 1% suggests a low but non‑zero probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is a REST‑API call to /api/users/createApiKey by an authenticated user who has the api.users.write scope. Successful exploitation results in super‑administrator privileges and the ability to compromise the entire site.

Generated by OpenCVE AI on August 20, 2026 at 14:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Deploy Grav API plugin version 1.0.6 or newer to eliminate the missing access check.
  • Restrict or disable the createApiKey endpoint for non‑super accounts until a future patch is available.
  • Ensure two‑factor authentication is enabled and periodically rotated for all super‑administrator accounts.

Generated by OpenCVE AI on August 20, 2026 at 14:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


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 16:00: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.6, Grav API plugin UsersController::createApiKey(), generate2fa(), and disable2fa() omit the accessGrantsSuper() target check used by sibling user mutation endpoints. A non-super account with api.users.write can mint an API key bound to an access.api.super target through requireApiKeyPermission(), obtain the target's full privileges because key scopes are not enforced, and create persistent super-administrator access; the same missing check also permits rotating or disabling the target's two-factor authentication. This issue is fixed in version 1.0.6.
Title Grav API Plugin: non-super api.users.write manager -> super-admin via createApiKey (incomplete fix of CVE-2026-59190); + 2FA strip of super
Weaknesses CWE-639
CWE-862
References
Metrics 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'}


Subscriptions

Getgrav Grav-plugin-api
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T19:36:19.063Z

Reserved: 2026-07-14T20:22:04.394Z

Link: CVE-2026-62666

cve-icon Vulnrichment

Updated: 2026-08-21T19:36:14.757Z

cve-icon NVD

Status : Received

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

Modified: 2026-08-21T20:16:38.353

Link: CVE-2026-62666

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T15:00:05Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-862

    Missing Authorization