What’s Vulnerable › Vulnerabilities
CVE-2026-72830: Grav API Plugin before 1.0.13 RCE via ConfigController scope bypass
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.7% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-08-14 · updated 2026-08-31
- Weakness: CWE-269
Description
Grav API plugin versions before 1.0.13 fail to enforce API key scope caps in ConfigController super-scope gates, allowing scoped keys to write scheduler configuration. The scope cap is applied only inside requirePermission(), while the scheduler and backups gates use a bare isSuperAdmin() check that never consults api_key_scopes. An attacker holding an API key scoped to api.config.write that was minted on a super account can therefore inject arbitrary commands into scheduler.custom_jobs, which Job::run() passes to a Symfony Process, achieving operating system command execution as the web server user.
Affected products
- getgrav grav: before 1.0.13 — fixed in 1.0.13
How to fix
Upgrade to a fixed version: getgrav grav 1.0.13. Check the vendor advisory for mitigations.
References
- https://github.com/getgrav/grav/security/advisories/GHSA-2x29-3mjq-2pvx
- https://www.vulncheck.com/advisories/grav-api-plugin-before-rce-via-configcontroller-scope-bypass
- https://github.com/getgrav/grav/security/advisories/GHSA-2x29-3mjq-2pvx
Get alerted when CVE-2026-72830 or the next vulnerability affects your stack