CVE-2026-56700 Grav - Multiple Remote Code Execution Vulnerabilities via Unsafe Unserialize and Command Injection
Attackers can achieve remote code execution in Grav CMS via unsafe deserialization and command injection vulnerabilities.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-56700?
CVE-2026-56700 is a critical unsafe deserialization vulnerability in Grav, published on 30 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Grav CMS before 2.0.0-beta.2 contains multiple code-execution vulnerabilities. Three unsafe unserialize() calls - in Scheduler\JobQueue, Framework\Cache\Adapter\FileCache, and Session - deserialize untrusted data without restricting allowed classes, enabling PHP object injection and, via a gadget chain, arbitrary code execution where an attacker controls the serialized input. Additionally, InstallCommand's git clone operation passes the branch, url, and path parameters into a shell command without escaping, allowing OS command injection via plugin/theme installation (which requires admin access). A Twig security blocklist bypass (server-side template injection) is also present. The issues are fixed in 2.0.0-beta.2.
Which versions are affected by CVE-2026-56700?
2 open source packages ship an affected version, including getgrav/grav.
| Package | Affected | Fixed in |
|---|---|---|
getgrav/grav Packagist | All versions | 2.0.0-beta.2 |
getgrav/grav Packagist | All versions | 2.0.0-beta.2 |
How do I fix CVE-2026-56700?
Upgrade getgrav/grav to 2.0.0-beta.2 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2026-56700 being exploited?
There is no known exploitation of CVE-2026-56700 in the wild and no public exploit code.
Sources
Also known as GHSA-58cg-x8gx-6hg3, GHSA-vj3m-2g9h-vm4p.