Skip to main content

Grav CMS CVE-2026-112781

| EUVDEUVD-2026-104587 HIGH
Information Exposure (CWE-200)
2026-10-19 VulnCheck GHSA-gffw-347v-3rhv
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as page editor
  2. Exploit
    Inject config-*@ directive into frontmatter
  3. Execution
    Bypass Twig config_denied_paths redaction
  4. Impact
    Secrets rendered to all visitors

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

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

Exploitation Conditions

Requires an authenticated account holding page-edit permission in Grav 2.0.0 through before 2.2.2; the attacker must be able to add config-*@ directives to a page's frontmatter form, which bypasses the Twig sandbox config_denied_paths redaction. The practical limiting factor is the trusted editorial role - this is not exploitable by anonymous visitors, only by users already granted content-editing rights. Impact additionally depends on the deployment actually storing sensitive values (plugin credentials, Redis passwords, security.salt) in configuration; disclosed output then becomes readable by all site visitors to the affected page.

Impact

Signals are mixed and one is internally inconsistent. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, base 8.7 HIGH) claims no privileges are required, but the description explicitly states the attack requires 'page-edit permission' to add config-*@ directives to frontmatter - so PR:N contradicts the prose and the true attacker precondition is an authenticated page editor (PR:L). This discrepancy materially lowers real-world risk from the headline 8.7: exploitation is gated behind a trusted editorial role, not open to anonymous internet attackers. No EPSS score was provided, so statistical exploitation likelihood cannot be weighed. The flaw is not in CISA KEV and no public POC was supplied, so there is no public exploit identified at time of analysis - this is not confirmed active exploitation. Impact is confidentiality-only but meaningful: leakage of security.salt, plugin credentials, and Redis passwords can enable follow-on compromise (session forgery, credential reuse). Net assessment: a genuine, high-confidentiality-impact issue worth prompt patching for any Grav deployment with semi-trusted editors, but NOT an internet-facing unauthenticated emergency as the 8.7/PR:N score implies - treat as a privilege-boundary/insider-escalation disclosure. Verify the PR metric with the vendor.

Exploit ScenarioDerived

A user granted page-editing rights in Grav (2.0.0 before 2.2.2) edits a page and inserts config-*@ directives into the frontmatter form, bypassing the Twig sandbox config_denied_paths redaction. When the page renders, protected configuration - security.salt, plugin credentials, and Redis passwords - is written into output visible to all site visitors, allowing the editor (or anyone viewing the page) to harvest the secrets. No public exploit code was identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 19, 2026

Information disclosure in Grav CMS 2.0.0 through 2.2.1 allows authenticated page editors to expose protected configuration - including security.salt, plugin credentials, and Redis passwords - to every visitor of the affected page by inserting config-*@ directives into a page's frontmatter form. The bypass defeats the Twig sandbox's config_denied_paths redaction, so values the CMS intends to keep internal are rendered into public page output. Our assessment rates this CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N rather than the advisory's 8.7 CVSS:4.0 vector, because exploitation requires an account already holding page-edit rights; no public exploit code or confirmed active exploitation was identified at time of analysis, and real-world impact depends on whether the deployment actually stores secrets in flat-file configuration.

RemediationAI

Upgrade Grav to 2.2.2 or later, the first version outside the affected range, per GHSA-8wwq-x3w5-fxmw; confirm the fix by verifying that config-*@ directives in frontmatter no longer resolve denylisted keys such as security.salt or plugin credential paths. Because the disclosure window may already have exposed values publicly, treat all configuration-level secrets as compromised: rotate security.salt (this invalidates existing session cookies and any signed tokens, forcing re-authentication for all users), rotate Redis passwords and plugin API credentials, and purge cached page output so previously rendered pages containing leaked values are not served from cache. As a compensating control where immediate upgrade is not possible, restrict the page-edit permission to a small set of trusted administrators and audit existing pages for config-*@ directives in frontmatter, removing any found; this reduces but does not eliminate risk and has the operational trade-off of blocking legitimate editorial workflows. Longer term, migrate sensitive values out of YAML configuration into environment variables or an external secrets store so that a future sandbox bypass cannot expose them, accepting the added deployment complexity.

Affected VersionsENISA

grav 2.0.0 <2.2.2

Affected Packages

euvd grav fix: 2.2.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in 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 stores site configuration in YAML files (system.yaml, security.yaml, plugin configs) rather than a database, and renders pages through Twig templates whose sandbox restricts access to sensitive configuration keys via a config_denied_paths redaction list. Page content is defined by frontmatter, and Grav's frontmatter can carry form/blueprint directives that are interpreted at render time; the config-*@ directive family is intended to let authors pull configuration values into forms but is not subject to the same denylist enforcement as sandboxed Twig attribute access. A user with page-edit permission can therefore name keys that the denylist was supposed to hide, and the resolved values are written into the generated page markup that any anonymous visitor can read. This is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) arising from an incomplete access-control/redaction boundary between the sandboxed template layer and the frontmatter directive parser. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR-equivalent absent/UI:N, VC:H) implies no privileges are required and yields 8.7, which conflicts with the advisory description and with our assessment that page-edit authentication is a hard prerequisite; treat the 8.7 as an upper bound that overstates reachability.

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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Requires an authenticated page-edit role so PR:L not PR:N; network-reachable web app AV:N, no added complexity AC:L, no user interaction; confidentiality-only impact C:H with no integrity or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/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
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 19, 2026 - 21:17 EUVD
CVE Published
Oct 19, 2026 - 19:10 cve.org
HIGH 8.7

DescriptionCVE.org

Grav from 2.0.0 before 2.2.2 contains an information disclosure vulnerability that allows page editors to read protected configuration by adding config-*@ directives to page frontmatter forms. Attackers with page-edit permission can bypass the Twig sandbox config_denied_paths redaction to expose security.salt, plugin credentials, and Redis passwords to all visitors.

Technical POC Analysis

Evidence base: GHSA-8wwq-x3w5-fxmw advisory only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Grav CMS 2.0.0 through 2.2.1 can expose protected configuration-including security salts, plugin credentials, and Redis passwords-to every visitor of a page when an authenticated low-privileged page editor inserts config-*@ directives into frontmatter forms. The organizational risk is credential and secret disclosure that could enable lateral access or service compromise, though exploitation requires an existing page-edit account and no public exploit identified at time of analysis. Leadership should prioritize inventory, privilege reduction, and secret rotation while a vendor fix is unavailable.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict page-edit rights and frontmatter form use to trusted users; remove or block config-*@ directives in page frontmatter; rotate security.salt, plugin credentials, and Redis passwords if exposed; monitor page output and access logs for configuration data; migrate secrets out of flat-file configuration and isolate affected instances.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
popular open-source flat-file CMS, far below WordPress-scale footprint
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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-75827 CRITICAL POC
9.3 Aug 18

Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri

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

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