Description (CNA)
The getgrav/grav-plugin-api plugin before 1.0.13 contains an API-key scope cap bypass in the POST /reports/twig-content/allowlist endpoint (ReportsController). The endpoint enforces requirePermission('api.config.write') followed by a bare isSuperAdmin() check instead of requireSuper(). Because isSuperAdmin() reads access.api.super directly and never consults api_key_scopes, a least-privilege API key scoped to api.config.write minted on a super account passes the gate, allowing an attacker to append attacker-chosen tokens to the security.twig_sandbox allowlist (persisted to user/config/security.yaml). Widening the allowlist turns any subsequent Twig-in-content render into an SSTI/RCE sink.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| getgrav / grav | affected 0 before 1.0.13; unaffected 1.0.13 |
CWE
CWE-862
References
- https://github.com/getgrav/grav/security/advisories/GHSA-v5ph-7v92-wqm6
- https://www.vulncheck.com/advisories/grav-before-api-key-scope-cap-bypass-via-reportscontroller
ADP enrichment
No English description supplied.