CVE Catalog

CVE-2026-72830

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.94%

59th percentile - higher than 59% of all known CVEs

Summary

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.

Risk Assessment

The risk includes arbitrary command execution on the web server, which can lead to full server compromise, data theft, or further attacks. The vulnerability can be exploited remotely by an API key holder with limited scope.

Recommendation

It is recommended to immediately update the Grav API plugin to version 1.0.13 or later and review and rotate API keys, especially those with api.config.write scope.

Other vulnerabilities in Grav API plugin

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS