CVE-2026-72826 PUBLISHED

Grav before 1.0.13 Scope Bypass via createApiKey

Assigner: VulnCheck
Reserved: 10.08.2026 Published: 14.08.2026 Updated: 14.08.2026

The getgrav/grav-plugin-api plugin before 1.0.13 fails to validate that the scopes of a newly created API key are a subset of the caller's scopes in createApiKey. The self-target path of requireApiKeyPermission() requires only the baseline api.access scope, and the new key's scopes are read directly from the request body with no subset check. An attacker holding a minimal-scope API key on a super account can submit an empty scopes array to mint an unscoped, full-access super key, bypassing scope restrictions (and enabling further chains such as configuration write to RCE).

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 9.3

Product Status

Vendor getgrav
Product grav
Versions Default: unaffected
  • affected from 0 to 1.0.13 (excl.)
  • Version 1.0.13 is unaffected

Credits

  • manus-use reporter

References

Problem Types

  • Incorrect Privilege Assignment CWE