What’s Vulnerable › Vulnerabilities
CVE-2026-62667: Grav API Plugin : API Key 'scopes' Never Enforced - Delegated Least-Privilege Keys Carry Full User ACL
- Severity: high (CVSS 8.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-19 · updated 2026-09-09
- Weakness: CWE-862
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, 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.
Affected products
- getgrav grav-plugin-api: before 1.0.6
References
- https://github.com/getgrav/grav-plugin-api/commit/dfcc947f0d6758772caac290c68fe8d4c4a4874e
- https://github.com/getgrav/grav-plugin-api/releases/tag/1.0.6
- https://github.com/getgrav/grav/security/advisories/GHSA-x7hm-jc32-v39j
- https://github.com/getgrav/grav/security/advisories/GHSA-x7hm-jc32-v39j
Get alerted when CVE-2026-62667 or the next vulnerability affects your stack