{"id":"CVE-2026-62667","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-62667","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, the Grav API plugin ApiKeyManager::generateKey() stores a declared…","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.","published":"2026-08-19T16:18:19.177","modified":"2026-08-19T16:18:19.177","cvss":{"score":8.1,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":{"url":"https://github.com/getgrav/grav-plugin-api/commit/dfcc947f0d6758772caac290c68fe8d4c4a4874e","label":"getgrav/grav-plugin-api@dfcc947"},"references":[{"type":"WEB","url":"https://github.com/getgrav/grav-plugin-api/commit/dfcc947f0d6758772caac290c68fe8d4c4a4874e"},{"type":"WEB","url":"https://github.com/getgrav/grav-plugin-api/releases/tag/1.0.6"},{"type":"WEB","url":"https://github.com/getgrav/grav/security/advisories/GHSA-x7hm-jc32-v39j"}],"provenance":{"sources":["OSV.dev","NVD","FIRST.org (EPSS)"],"lastVerified":"2026-08-19T16:18:19.177"}}