---
id: CVE-2026-62666
title: >-
  Grav API Plugin is a RESTful API for Grav CMS that provides full headless
  access to your site's content
summary: >-
  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…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-639
  - CWE-862
published: '2026-08-19'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:13:25.910'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-62666'
references:
  - url: >-
      https://github.com/getgrav/grav-plugin-api/commit/dfcc947f0d6758772caac290c68fe8d4c4a4874e
    label: security-advisories@github.com
  - url: 'https://github.com/getgrav/grav-plugin-api/releases/tag/1.0.6'
    label: security-advisories@github.com
  - url: 'https://github.com/getgrav/grav/security/advisories/GHSA-8gg4-rvvv-cq96'
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00635
epssPercentile: 0.48245
ingestedAt: '2026-09-09T21:22:45.540Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
