CVE-2026-72825: Grav before 1.0.13 API-key scope cap bypass via ReportsController
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 apikeyscopes, 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.twigsandbox allowlist (persisted to user/config/security.yaml). Widening the allowlist turns any subsequent Twig-in-content render into an SSTI/RCE sink.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
getgrav/grav-plugin-apito a version that resolves this vulnerability.Fixed in 1.0.13 - Configuration
Review user/config/security.yaml and remove any attacker-added entries to the security.twig_sandbox allowlist that were injected via the POST /reports/twig-content/allowlist endpoint.
Grav user/config/security.yaml (security.twig_sandbox allowlist) = remove attacker-chosen tokens appended to the allowlist
Event History
Frequently Asked Questions
What is the severity of CVE-2026-72825?
The severity of CVE-2026-72825 is rated high with a score of 7.6.
How do I fix CVE-2026-72825?
To fix CVE-2026-72825, upgrade the getgrav/grav-plugin-api to version 1.0.13 or later.
What systems are affected by CVE-2026-72825?
CVE-2026-72825 affects versions of the getgrav/grav-plugin-api prior to 1.0.13.
What type of vulnerability is CVE-2026-72825?
CVE-2026-72825 is an API-key scope cap bypass vulnerability.
What can attackers do with CVE-2026-72825?
Attackers exploiting CVE-2026-72825 may gain unauthorized access to API configurations due to insufficient permission checks.