CVE-2026-75832 PUBLISHED

Grav API Plugin before 1.0.14 Authorization Bypass

Assigner: VulnCheck
Reserved: 18.08.2026 Published: 18.08.2026 Updated: 18.08.2026

The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav 2.0) before version 1.0.14 (fixed in 1.0.15) contains a missing authorization vulnerability in BlueprintPathResolver::resolveUserScope(). The method gates the users/<name> scope on the account's raw super-admin ACL flag (access.api.super) instead of validating the presented API key's actual scope. An attacker holding an API key scoped only to api.media.write minted on a super-admin account can bypass the authorization check and, via POST /blueprint-upload or GET /blueprint-files, write a file into another user's scope (in the shared user/accounts/ directory, constrained to image extensions by assertSafeExtension()) and browse that scope's file listing, despite the key not being granted api.users.write.

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.14 (excl.)
  • Version 1.0.14 is unaffected

Credits

  • iaohkut-from-NightWolf-Team reporter

References

Problem Types

  • Missing Authorization CWE