Auth bypass in Getgrav Grav-Plugin-Api
CVE-2026-62667
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, the Grav API plugin ApiKeyManager::generateKey() stores a declared scopes array, but ApiKeyAuthenticator::authenticate() does not read keyData[scopes] and returns the owning user's complete identity. AbstractApiController::requirePermission() consequently evaluates the full user ACL, so a key issued for a read-only scope can perform every write, delete, and administrative operation available to the owner. This issue is fixed in version 1.0.6.
Vulnerability class: Broken Access Control
CVSS v3 metric
CVSS v3 base score 8.1 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N.
Affected products
- Getgrav Grav-plugin-api — versions < 1.0.6
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM)
- security-advisories@github.com (x_refsource_MISC)
- security-advisories@github.com (x_refsource_MISC)
Frequently asked questions
- What is CVE-2026-62667?
- CVE-2026-62667 is a high-severity vulnerability in Getgrav Grav-Plugin-Api, classified under Missing Authorization. CVSS score: 8.1/10. Published 2026-08-19.
- How severe is CVE-2026-62667?
- High severity. CVSS v3 base score is 8.1 out of 10.