Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate exposed /grav/admin endpoint
-
DeliverySend unauthenticated HTTP GET
-
ExploitParse inlined window.__GRAV_CONFIG__ object
-
ExecutionExtract Grav and Admin2 versions and paths
-
ImpactSelect version-specific exploit for follow-on attack
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 | Exploitation requires only that the Grav Admin2 plugin (version before 2.0.4) is installed and its administration SPA is network-reachable at /grav/admin or a subroute; the sensitive window.__GRAV_CONFIG__ object is returned in every unauthenticated response by default, so no special feature toggle or non-default configuration is needed. No special conditions - remote unauthenticated exploitation against default configurations of the Grav Admin2 plugin. The primary limiting factor is exposure: if /grav/admin is not internet-reachable (e.g., bound to localhost, IP-restricted, or behind a VPN/authenticating proxy), an external attacker cannot retrieve the object. Impact is also limited to information disclosure - it enables follow-on attacks rather than directly compromising the system. |
| Impact | The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) scores 8.7 (High), reflecting trivial, unauthenticated, network-reachable exploitation. However, the actual impact is confidentiality of deployment metadata (version numbers, paths, environment type) - not sensitive user or business data - so the VC:H rating appears aggressive; a Low confidentiality impact is more defensible, which is why this analyst's independent assessment scores it substantially lower. No EPSS score, KEV listing, or POC was provided: there is no public exploit identified at time of analysis and no evidence of active exploitation. The genuine risk is not the disclosure itself but its role as a force-multiplier - it removes the reconnaissance step attackers normally need to match a target to a version-specific exploit, meaningfully shortening the time-to-exploit for any future Grav/Admin2 vulnerability. Treat this as a reconnaissance-enabling hardening issue rather than a standalone critical, high-CVSS-but-lower-real-risk in isolation. |
| Exploit ScenarioDerived | An unauthenticated attacker scanning the internet requests /grav/admin, reads the inlined window.__GRAV_CONFIG__ object from the returned HTML, and extracts the exact Grav and Admin2 version numbers plus internal paths. They cross-reference those versions against known CVEs and immediately launch a matching version-specific exploit, skipping the trial-and-error probing that would otherwise generate noise and delay. No POC is currently published, but exploitation requires only a single unauthenticated HTTP GET (AV:N/AC:L/PR:N). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 11, 2026
Information disclosure in the Grav Admin2 plugin (getgrav/grav-plugin-admin2) before 2.0.4 exposes a window.__GRAV_CONFIG__ JavaScript object on the /grav/admin SPA bootstrap page and its subroutes, leaking exact Grav and Admin2 version numbers, server URL, API prefix, admin base path, and runtime environment to any unauthenticated visitor. Reported by VulnCheck, the flaw lets remote unauthenticated attackers fingerprint a deployment and pre-select version-specific exploits with zero active reconnaissance. No public exploit identified at time of analysis, and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade the Grav Admin2 plugin to version 2.0.4 or later, which is the primary and confirmed fix (see GHSA-pfjq-chp8-3vgh at https://github.com/getgrav/grav/security/advisories/GHSA-pfjq-chp8-3vgh). If immediate upgrade is not possible, restrict access to the /grav/admin path and its subroutes at the reverse proxy or web server so the SPA bootstrap page is only reachable from trusted management networks or VPN - this blocks unauthenticated fingerprinting but also prevents legitimate remote administrators from reaching the console until whitelisted. As an alternative compensating control, place the admin interface behind an authenticating proxy (HTTP basic auth or SSO) so the config object is never served pre-auth; the trade-off is added login friction and configuration overhead. Do not rely on obscuring version strings alone, as the object also leaks API prefix and admin base path. Confirm remediation via the VulnCheck advisory at https://www.vulncheck.com/advisories/grav-before-information-disclosure-via-grav-config.
Affected VersionsENISA
Affected Packages
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, and Admin2 is its next-generation single-page administration interface. During SPA bootstrap the server inlines a global configuration object (window.__GRAV_CONFIG__) into the HTML delivered at /grav/admin, a common pattern for hydrating front-end frameworks with runtime settings. The defect is that this object is emitted in EVERY response - including those served to unauthenticated clients - and includes precise version strings for both Grav and the Admin2 plugin plus internal path/API metadata. This maps to CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): sensitive deployment metadata that should be gated behind authentication is disclosed in a pre-auth code path. The CPE cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* identifies the affected software as Grav itself, though the vulnerable component is specifically the Admin2 plugin.
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
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
Unauthenticated network GET with no interaction (AV:N/AC:L/PR:N/UI:N); impact is limited to disclosure of version/path metadata, so C:L with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
The Grav Admin2 plugin (getgrav/grav-plugin-admin2) before 2.0.4 embeds a global JavaScript variable window.__GRAV_CONFIG__ in the Admin2 SPA bootstrap page at /grav/admin (and its subroutes). This object is returned in every unauthenticated response and discloses the server URL, API prefix, admin base path, runtime environment type, and exact Grav and Admin2 version numbers, allowing an unauthenticated attacker to fingerprint the deployment and select version-specific exploits without reconnaissance.
Executive ViewAI
The Grav Admin2 plugin exposes critical system configuration details-including exact version numbers, server URLs, and API endpoints-to any unauthenticated visitor, enabling attackers to precisely target known vulnerabilities without reconnaissance. This information disclosure dramatically reduces attacker friction and accelerates breach timelines for vulnerable deployments. Immediate assessment and remediation is required to prevent targeted exploitation.
No vendor-released patch identified at time of analysis. Implement network access controls restricting /grav/admin to trusted IP ranges; disable the plugin if unused; deploy WAF rules to block reconnaissance patterns; maintain comprehensive version inventory for incident response; establish alerts for suspicious access to affected endpoints.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol
Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their
A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug
Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a
GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv
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
Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri
Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm
Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past
Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make
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
Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary
EUVD-2026-43184
GHSA-q4j8-3jf6-pjvp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB