Skip to main content

Grav CMS EUVDEUVD-2026-40452

| CVE-2026-56700 CRITICAL
OS Command Injection (CWE-78)
2026-06-30 VulnCheck GHSA-58cg-x8gx-6hg3
9.3
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.5 HIGH

Network-reachable but the dominant credible paths need attacker-controlled serialized input plus a gadget chain (AC:H) or authenticated access (PR:L); successful exploitation yields full RCE, so C/I/A High.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Patch available
Jul 01, 2026 - 02:16 EUVD
Analysis Generated
Jun 30, 2026 - 23:20 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Arbitrary code execution in Grav CMS before 2.0.0-beta.2 stems from three distinct flaw classes: PHP object injection via unsafe unserialize() of attacker-controllable data in the Scheduler JobQueue, FileCache adapter, and Session components, an OS command injection in the plugin/theme InstallCommand git clone routine, and a Twig sandbox blocklist bypass enabling server-side template injection. An attacker who can influence the serialized input can chain available gadgets to run arbitrary PHP, while the command-injection path is reachable by authenticated administrators through plugin/theme installation. No public exploit identified at time of analysis; the issues were privately reported by VulnCheck and are fixed in 2.0.0-beta.2.

Technical ContextAI

Grav is a PHP-based flat-file CMS that uses no database, relying on filesystem caches, sessions, and YAML/Twig for templating. The core weakness in the deserialization vector is CWE-502-style PHP Object Injection: unserialize() is called on untrusted data without an allowed_classes allowlist in Scheduler\JobQueue, Framework\Cache\Adapter\FileCache, and Session, so a magic-method (__wakeup/__destruct) gadget chain present in Grav's dependency tree can be triggered to reach code execution. The CWE assigned (CWE-78, OS Command Injection) maps to the InstallCommand path, where the branch, url, and path parameters of a git clone are concatenated into a shell command without escapeshellarg-style escaping, letting shell metacharacters break out into arbitrary OS commands. The third issue is server-side template injection through a bypass of Grav's Twig security blocklist, which is meant to sandbox user-supplied template expressions. The CPE cpe:2.3:a:grav:grav:*:*:*:*:*:*:*:* confirms the Grav application itself (all versions prior to the fix) is the affected product.

RemediationAI

Upgrade to the fixed release - Vendor-released patch: 2.0.0-beta.2 - which addresses all three flaw classes; this is the primary and recommended remediation, documented in the vendor advisory GHSA-vj3m-2g9h-vm4p (https://github.com/getgrav/grav/security/advisories/GHSA-vj3m-2g9h-vm4p). Because the fixed version is a beta, organizations on stable channels should review release notes and test before deploying, and if immediate upgrade is not possible apply compensating controls per vector: restrict and audit administrator accounts and avoid installing untrusted plugins/themes to blunt the InstallCommand OS command injection (trade-off: limits legitimate admin self-service installs); place the admin panel and any session/cache-writing endpoints behind a VPN, IP allowlist, or reverse-proxy authentication to reduce who can influence serialized data (trade-off: hampers remote administration); and disable or tightly review any feature allowing user-supplied Twig templates to mitigate the SSTI blocklist bypass (trade-off: breaks templates that legitimately accept dynamic expressions). Ensure session and cache storage directories are not writable by untrusted users and rotate session secrets after patching. Consult the VulnCheck advisory (https://www.vulncheck.com/advisories/grav-multiple-remote-code-execution-vulnerabilities-via-unsafe-unserialize-and-command-injection) for vector-specific detail.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

Share

EUVD-2026-40452 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy