Vulnerability · Published Aug 14, 2026 · Assigned by VulnCheck
CVE-2026-72830Grav API Plugin before 1.0.13 RCE via ConfigController scope bypass
High 8.8
In plain English
A high-severity privilege mismanagement in grav from getgrav. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 55% of all known vulnerabilities).
Official 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 (as reported)
Weakness: CWE-269 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
References
- GitHub Security Advisory (GHSA-2x29-3mjq-2pvx) vendor-advisory
- VulnCheck Advisory: Grav API Plugin before 1.0.13 RCE via ConfigController scope bypass third-party-advisory