Vulnerability 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.
CVSS Score
HIGH
Related Weaknesses (CWE)
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-re
- https://github.com/getgrav/grav/security/advisories/GHSA-v5ph-7v92-wqm6
FAQ
What is CVE-2026-72825?
CVE-2026-72825 is a vulnerability with a CVSS score of 7.6 (HIGH). 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(...
How severe is CVE-2026-72825?
CVE-2026-72825 has been rated HIGH with a CVSS base score of 7.6/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-72825?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.