CVE-2026-75832

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.
Configurations

No configuration.

History

22 Oct 2026, 22:10

Type Values Removed Values Added
Summary
  • (es) El plugin API de Grav (getgrav/grav-plugin-api, incluido con Grav 2.0) anterior a la versión 1.0.14 (corregido en 1.0.15) contiene una vulnerabilidad de autorización faltante en BlueprintPathResolver::resolveUserScope(). El método restringe el alcance users/[name] basándose en el indicador ACL ’super-admin’ sin procesar de la cuenta (access.api.super) en lugar de validar el alcance real de la clave API presentada. Un atacante que posee una clave API con un alcance limitado solo a api.media.write, emitida en una cuenta de superadministrador, puede eludir la verificación de autorización y, a través de POST /blueprint-upload o GET /blueprint-files, escribir un archivo en el alcance de otro usuario (en el directorio compartido user/accounts/, restringido a extensiones de imagen por assertSafeExtension()) y navegar por el listado de archivos de ese alcance, a pesar de que a la clave no se le haya concedido api.users.write.

Information

Published : 2026-08-18 12:19

Updated : 2026-10-22 22:10


NVD link : CVE-2026-75832

Mitre link : CVE-2026-75832

CVE.ORG link : CVE-2026-75832


JSON object : View

Products Affected

No product.

CWE
CWE-862

Missing Authorization