Description
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.
Published: 2026-07-11
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from the Grav Admin2 plugin before version 2.0.4, which embeds the global JavaScript object window.__GRAV_CONFIG__ into the Admin2 single-page application bootstrap page served at /grav/admin and its subroutes. This object is included in every response regardless of authentication status and reveals the server URL, API prefix, admin base path, runtime environment type, and the exact Grav and Admin2 version numbers. According to the CWE list, this is an instance of Information Exposure (CWE-200). The disclosed data allows an unauthenticated attacker to identify the software stack, determine potential version-specific weaknesses, and craft tailored attacks without the need for additional reconnaissance.

Affected Systems

The affected product is the Grav Admin2 plugin for Grav Core, specifically all releases prior to 2.0.4. The vendor, obtainable via the CNA identifier, is getgrav. Users running Grav Core with the Admin2 plugin older than 2.0.4 are impacted.

Risk and Exploitability

With a CVSS score of 8.7, the vulnerability is considered high severity. The EPSS score is < 1%, indicating a low probability of exploitation, and it is not listed in the CISA KEV. The exploit is remote and passive: any unauthenticated user can retrieve the /grav/admin page (or any of its subroutes) over HTTP or HTTPS and read the embedded JavaScript variable. While the exploit itself only leaks information, the precise version disclosure can be leveraged by an attacker to select and deploy more dangerous, version-specific exploits against the same host.

Generated by OpenCVE AI on July 29, 2026 at 09:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Grav Admin2 plugin to version 2.0.4 or newer, where the window.__GRAV_CONFIG__ variable is omitted from unauthenticated responses.
  • If immediate upgrade is not possible, block unauthenticated access to the /grav/admin route using web‑server rules (.htaccess, Nginx location blocks, or firewall restrictions) so that only authenticated users can reach the Admin2 SPA.
  • If access to the admin interface must remain open, modify the plugin’s template or add a server‑side filter to strip or obfuscate the __GRAV_CONFIG__ data before it is sent to the browser.

Generated by OpenCVE AI on July 29, 2026 at 09:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 13 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 11 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Grav before 2.0.4 Information Disclosure via __GRAV_CONFIG__
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-200
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}

cvssV4_0

{'score': 8.7, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-13T14:34:09.121Z

Reserved: 2026-07-09T14:06:14.017Z

Link: CVE-2026-61454

cve-icon Vulnrichment

Updated: 2026-07-13T14:34:02.775Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T09:15:05Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor