Impact
The vulnerability exists in Grav CMS versions older than 2.0.0-beta.2 and is exposed through three unsafe unserialize() calls—one in Scheduler\\JobQueue, one in Framework\\Cache\\Adapter\\FileCache, and one in Session—allowing PHP object injection. An attacker controlling the serialized input can trigger a gadget chain that leads to arbitrary code execution. In addition, InstallCommand’s git clone operation concatenates branch, url, and path parameters directly into a shell command, permitting OS command injection when installing plugins or themes—a task that requires administrative privileges. A Twig security blocklist bypass is also present, exposing server‑side template injection. These flaws collectively allow an attacker to execute arbitrary code on the affected system.
Affected Systems
Grav CMS releases prior to 2.0.0-beta.2 are vulnerable; no specific minor versions are listed beyond the fact that the issue exists until the targeted fix.
Risk and Exploitability
The CVSS score of 9.3 signals critical severity. The EPSS score of 2% indicates a low but non‑zero exploitation probability, and the vulnerability is not listed in CISA KEV catalog. Remote exploitation is possible through the web interface serialized input, leading to PHP object injection. InstallCommand’s git clone operation also allows OS command injection, but this requires administrative access to install plugins or themes. Consequently, when the system accepts untrusted serialized data or an attacker has admin rights, these weaknesses can be exploited.
OpenCVE Enrichment