CVE-2026-75832: Grav API Plugin before 1.0.14 Authorization Bypass
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.
Security readout for executives and security teams
Plain-English summary
A flawed permission check in Grav’s API plugin can let a narrowly scoped API key access another user’s file area when the key belongs to a super-admin account. The attacker could list files and upload image-extension files without the required user-write permission. This creates serious cross-user integrity and confidentiality risk.
Executive priority
Treat as an urgent remediation for internet-accessible Grav 2.0 deployments using API keys on super-admin accounts. Upgrade promptly and review privileged-account keys and relevant API activity. Prioritize systems holding sensitive user data or allowing untrusted parties to obtain API keys.
Technical view
BlueprintPathResolver::resolveUserScope() checks the account’s raw access.api.super flag instead of the API key’s granted scope. Consequently, an api.media.write key minted for a super-admin account can reach users/<name> through /blueprint-upload and /blueprint-files without api.users.write. Uploads remain limited by assertSafeExtension() to image extensions.
Likely exposure
Exposure requires the Grav API plugin bundled with Grav 2.0, a version through 1.0.14, and a qualifying API key minted on a super-admin account. Relevant API endpoints must also be reachable. Installations without the plugin, vulnerable versions, or such keys are not shown as exploitable by the supplied evidence.
Exploitation context
The CVE is not listed as KEV, and the supplied sources do not establish active exploitation or a public exploit. Abuse requires possession of a specifically scoped API key associated with a super-admin account. The reported actions are cross-user file listing and image-extension-constrained file writes; broader compromise is not demonstrated in the bundle.
Researcher notes
The core weakness is authorization confusion between account privileges and key-level scopes, classified as CWE-862. File writes are reportedly constrained to image extensions, but cross-user listing and unauthorized writes remain meaningful. Source wording is inconsistent: the title says “before 1.0.14,” while the description says 1.0.14 is affected and 1.0.15 fixes it.
Mitigation direction
Upgrade the Grav API plugin to version 1.0.15 or later.
Inventory API keys minted on super-admin accounts, especially keys granting api.media.write.
Revoke or rotate qualifying keys that are unnecessary, exposed, or cannot be confidently accounted for.
Restrict access to affected API endpoints until upgrading and key review are complete.
Validation and detection
Confirm the installed Grav API plugin version and whether Grav 2.0 bundles it.
Identify super-admin accounts and enumerate API keys granting api.media.write.
Review access logs for unexpected blueprint file listing or upload requests targeting other users.
Verify version 1.0.15 or later is deployed after remediation.
Confirm narrowly scoped keys cannot access another user’s scope without api.users.write.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-862: Authorization and privilege behavior lookup
Authorization weaknesses can support privilege escalation and valid-account review, depending on exploit path. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-862 · source CWE mapping
Missing Authorization
Missing Authorization represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.