{"id":"CVE-2026-62667","summary":"Grav API Plugin : API Key 'scopes' Never Enforced - Delegated Least-Privilege Keys Carry Full User ACL","details":"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.","aliases":["CVE-2026-62231","GHSA-x7hm-jc32-v39j"],"modified":"2026-09-11T03:30:51.684260803Z","published":"2026-08-19T15:43:19.382Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-862"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62667.json"},"references":[{"type":"WEB","url":"https://github.com/getgrav/grav-plugin-api/releases/tag/1.0.6"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62667.json"},{"type":"ADVISORY","url":"https://github.com/getgrav/grav/security/advisories/GHSA-x7hm-jc32-v39j"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-62667"},{"type":"FIX","url":"https://github.com/getgrav/grav-plugin-api/commit/dfcc947f0d6758772caac290c68fe8d4c4a4874e"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/getgrav/grav-plugin-api","events":[{"introduced":"0"},{"fixed":"dfcc947f0d6758772caac290c68fe8d4c4a4874e"},{"fixed":"fe5146a3efeb39d1f405499188e5270bc002b0a6"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.0.6"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["1.0.5","1.0.4","1.0.3","1.0.2","1.0.1","1.0.0","1.0.0-rc.16","1.0.0-rc.15","1.0.0-rc.14","1.0.0-rc.13","1.0.0-rc.12","1.0.0-rc.11","1.0.0-rc.10","1.0.0-rc.9","1.0.0-rc.8","1.0.0-rc.7","1.0.0-rc.6","1.0.0-rc.5","1.0.0-rc.4","1.0.0-rc.3","1.0.0-rc.2","1.0.0-rc.1","1.0.0-beta.17","1.0.0-beta.16","1.0.0-beta.15","1.0.0-beta.14","1.0.0-beta.13","1.0.0-beta.12","1.0.0-beta.11","1.0.0-beta.10","1.0.0-beta.9","1.0.0-beta.8","1.0.0-beta.7","1.0.0-beta.6","1.0.0-beta.5","1.0.0-beta.4","1.0.0-beta.3","1.0.0-beta.2","1.0.0-beta.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-62667.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"}]}