Skip to main content

Grav CMS CVE-2026-75827

| EUVDEUVD-2026-60591 CRITICAL
Code Injection (CWE-94)
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate with page-edit or blueprint-config access
  2. Delivery
    Craft Blueprint data directive calling error_log
  3. Exploit
    Bypass incomplete denylist validation
  4. Execution
    Append PHP payload to web-accessible file
  5. Persist
    Request file to execute code
  6. Impact
    Achieve remote code execution

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to already possess page-edit or blueprint-config access in Grav, and the target install must be running a version before 2.0.15 where the bare-function validation uses the incomplete denylist. The concrete primitive is invoking the PHP error_log function via a Blueprint dynamic-data directive to append a PHP payload to a file that is reachable and executable under the web server's document root. Limiting factors: it is not usable by fully anonymous users - a privileged editor/config role is needed despite the input vector's PR:N - and success depends on a web-accessible, PHP-executing target directory being writable through the directive. The provided CVSS PR:N conflicts with this description-stated privilege requirement and should be verified with the vendor.

Impact

The supplied CVSS 4.0 vector (9.3, AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) scores this as critical and unauthenticated, but this directly conflicts with the description, which states the attacker must already have page-edit or blueprint-config access - i.e. some authenticated/privileged role. This PR:N-versus-privileged discrepancy should be verified with the vendor; a more defensible assessment treats it as requiring low privileges (PR:L). Even downgraded, the real-world impact is high: an authenticated content editor or anyone able to modify blueprint config can achieve full RCE with high confidentiality, integrity, and availability impact and no user interaction. There is no EPSS score, KEV listing, or public POC provided, so exploitation probability signals are absent; the risk is therefore driven by the severity of the primitive and the plausibility of insider/compromised-editor abuse rather than by evidence of mass exploitation. Bottom line: a genuine priority patch for any multi-user Grav deployment, but the 'unauthenticated' framing of the raw vector overstates reachability against installs where editing is restricted.

Exploit ScenarioDerived

A user with a content-editor account (or access to blueprint configuration) crafts a Blueprint data directive that invokes the error_log function, passing a PHP payload and targeting a web-accessible file path. Grav's incomplete denylist permits the call, appending the PHP code to the file; the attacker then requests that file through the web server to execute their code and obtain RCE. No public exploit code was provided with this analysis, though the technique is straightforward given editor access.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
1 public PoC Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 18, 2026

Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to write arbitrary PHP into web-accessible files and execute it. The flaw lives in the Blueprint dynamic-data 'bare-function' validation, which relies on an incomplete denylist rather than a positive allowlist, letting the error_log function be invoked through a data directive to append attacker-controlled PHP payloads. Reported by VulnCheck; no public exploit identified at time of analysis, and the issue is not listed in CISA KEV.

RemediationAI

Vendor-released patch: upgrade to Grav 2.0.15 or later, which replaces the incomplete bare-function denylist with proper validation; see GHSA-f8wv-xp27-6gq7 (https://github.com/getgrav/grav/security/advisories/GHSA-f8wv-xp27-6gq7). Where immediate upgrade is not possible, tightly restrict who holds page-edit and blueprint-config permissions and audit admin/editor accounts, since those roles are the exploitation prerequisite; this reduces attack surface but does not close the flaw and limits legitimate content workflows. As additional compensating controls, monitor the web root and blueprint/config directories for unexpected .php file creation or modification, and where feasible enforce that PHP execution is disabled in user-writable upload/content directories so a dropped payload cannot be executed - noting this can break plugins that legitimately execute PHP from those paths. Cite the exact fix version (2.0.15) when scheduling the change; do not rely on partial denylist tweaks.

Affected VersionsENISA

grav 0 <2.0.15

Affected Packages

composer getgrav/grav fix: 2.0.15
euvd grav fix: 2.0.15

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Grav is a flat-file PHP CMS that defines content structures and form/field behavior through YAML 'Blueprints.' Blueprints support dynamic data directives that can call PHP functions to populate default values or options; the vulnerable code validates which functions may be called using a denylist (blocklist) of dangerous functions instead of an allowlist of explicitly permitted ones. Because the denylist is incomplete, the standard PHP error_log() function - which can write a message to an arbitrary file path in append mode - slips through validation. This is a classic CWE-94 (Improper Control of Generation of Code / Code Injection) root cause: untrusted input reaches a function-invocation surface, and error_log is abused as a file-write primitive to drop a PHP web shell into a directory served by the web server. The affected CPE is cpe:2.3:a:getgrav:grav for all versions prior to the 2.0.15 fix.

Know when Grav gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

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
vuln.today AI 8.8 HIGH

Description requires page-edit or blueprint-config access, so PR:L not PR:N; network-reachable admin, low complexity, and file-write-to-RCE yields full C/I/A impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/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
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 18, 2026 - 12:02 EUVD
CVE Published
Aug 18, 2026 - 11:19 cve.org
CRITICAL 9.3

DescriptionCVE.org

Grav before 2.0.15 contains an arbitrary file write vulnerability in the Blueprint dynamic-data bare-function validation that uses an incomplete denylist instead of a positive allowlist. Attackers with page-edit or blueprint-config access can invoke the error_log function through a data directive to append PHP payloads to web-accessible files, achieving remote code execution.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Grav CMS versions before 2.0.15 contain a critical remote code execution vulnerability (CVE-2026-75827) that allows users holding page-edit or blueprint-config privileges to execute arbitrary PHP code on affected servers. Organizations running vulnerable versions face immediate risk of system compromise, data theft, and service disruption. No vendor patch is currently available; immediate action is required to restrict these privileges and monitor for patch availability.

Business Impact: High
Compensating Controls

Restrict page-edit and blueprint-config permissions to only trusted administrators; implement strict role-based access controls with quarterly privilege reviews; enable and monitor audit logging for all CMS configuration changes; isolate Grav instances on segmented networks with restricted outbound access; and maintain continuous monitoring of Grav security advisories for patch availability.

Threat Intelligence Overview

EPSS Score
0.6%
Top 54% exploitable
Prevalence
Medium
Grav is a moderately popular flat-file PHP CMS, not ubiquitous like WordPress
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

67
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Grav

View all
CVE-2025-66294 HIGH POC
8.7 Dec 01

Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol

CVE-2025-66301 HIGH POC
8.6 Dec 01

Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their

CVE-2025-50286 HIGH POC
8.1 Aug 06

A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug

CVE-2024-34082 CRITICAL POC
9.9 May 15

Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a

CVE-2021-47812 CRITICAL POC
9.8 Jan 16

GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv

CVE-2026-65008 CRITICAL POC
9.3 Jul 21

Remote code execution in Grav CMS 2.0.4 (fixed in 2.0.7) lets an authenticated user holding the admin.pages or api.pages

CVE-2026-75837 CRITICAL POC
9.3 Aug 18

Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm

CVE-2026-75828 CRITICAL POC
9.3 Aug 18

Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past

CVE-2025-66844 CRITICAL POC
9.1 Dec 15

Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make

CVE-2025-66299 HIGH POC
8.8 Dec 01

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S

CVE-2026-72819 HIGH POC
8.7 Aug 14

Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary

CVE-2024-28119 HIGH POC
8.8 Mar 21

Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot

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