Vulnerability · Published Aug 14, 2026 · Assigned by VulnCheck
CVE-2026-72825Grav API Plugin before 1.0.13 API-key scope cap bypass via ReportsController
High 7.6
In plain English
A high-severity missing authorization in grav-plugin-api from getgrav. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 28% of all known vulnerabilities).
Official description
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 products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| getgrav | grav-plugin-api | 0 – before 1.0.13 |
Weakness: CWE-862 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L
References
- GitHub Security Advisory (GHSA-v5ph-7v92-wqm6) vendor-advisory
- VulnCheck Advisory: Grav before 1.0.13 API-key scope cap bypass via ReportsController third-party-advisory