CVE-2026-75832
Received Received - Intake

Missing Authorization in Grav API Plugin Allows User Scope Bypass

Vulnerability report for CVE-2026-75832, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-18

Last updated on: 2026-08-18

Assigner: VulnCheck

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-18
Last Modified
2026-08-18
Generated
2026-08-18
AI Q&A
2026-08-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 4 associated CPEs
Vendor Product Version / Range
getgrav grav-plugin-api 1.0.15
getgrav grav 0
getgrav grav-plugin-api to 1.0.14 (exc)
getgrav grav 2.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-75832 is a missing authorization vulnerability in the Grav API plugin. It affects the BlueprintPathResolver::resolveUserScope() function which incorrectly grants access to user scopes based on the super-admin flag of the account holding the API key instead of the API key's actual scope. This allows an API key with limited permissions like api.media.write to bypass authorization checks and perform actions outside its intended scope.

Detection Guidance

Check Grav CMS plugin-api version. If using version before 1.0.15, the system is vulnerable. Inspect API key scopes for super-admin accounts to ensure they are not misused. Monitor for unauthorized file writes in user/accounts/ directories or unexpected POST requests to /blueprint-upload or GET requests to /blueprint-files.

  • Run: curl -s http://<grav-url>/api | grep version to check plugin-api version.
  • Audit API keys in Grav admin panel for super-admin accounts and verify their assigned scopes.
  • Check server logs for POST /blueprint-upload or GET /blueprint-files requests from non-admin users.
Impact Analysis

An attacker with a limited API key could exploit this to write files into another user's directory and browse their files, even though the key lacks proper permissions. This could lead to unauthorized data access, file manipulation, or further system compromise depending on the affected Grav CMS setup.

Compliance Impact

This vulnerability could lead to unauthorized access to user data, violating confidentiality requirements in GDPR and HIPAA. It may result in data breaches, unauthorized data exposure, or improper data handling, potentially leading to regulatory penalties and compliance violations.

Mitigation Strategies

Upgrade Grav API plugin to version 1.0.15 or later immediately. Revoke and regenerate all API keys, especially those minted on super-admin accounts, and assign only necessary scopes. Review file permissions in user/accounts/ directories to restrict unauthorized access.

  • Update plugin via Grav admin panel or run: composer update getgrav/grav-plugin-api.
  • Recreate API keys with minimal required permissions and avoid super-admin account keys.
  • Set strict file permissions on user/accounts/ directories to prevent unauthorized writes.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-75832. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart