Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLog in as low-privilege admin user
-
DeliveryRequest /admin/accounts/users/{target}
-
ExploitReceive 403 but parse response body
-
ExecutionExtract admin email from <title> tag
-
ImpactUse metadata for phishing/credential stuffing
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires an authenticated low-privilege (0-privilege) account on the Grav Admin Panel. The attacker requests another user's account page at /admin/accounts/users/{username} (e.g. /admin/accounts/users/admin); even though the endpoint returns HTTP 403 Forbidden, the target's email address is rendered in the <title> tag of the response body (from the user-accounts.yaml flex blueprint template). Limiting factors: exploitation is gated on holding a valid admin-panel login, the admin interface must be reachable by the attacker, and impact is confined to disclosure of email/metadata - no account takeover, write, or code execution. Affects Grav prior to 1.8.0-beta.27. |
| Impact | This is a genuine but low-to-moderate priority issue. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N = 6.5 Medium) describes a network-reachable, low-complexity flaw requiring a low-privilege authenticated account, with confidentiality-only impact. The C:H rating is generous: per the GHSA advisory the leaked data is limited to admin email addresses and account metadata surfaced in the HTTP response <title> tag, which is closer to C:L than C:H - a realistic base score is ~4.3 rather than 6.5. Corroborating signals point to low real-world urgency: EPSS is 0.04% (13th percentile), the CVE is NOT in CISA KEV, and there is no evidence of active exploitation. Publicly available exploit code exists (the GHSA advisory documents a full PoC plus a PoC video), so the barrier to reproduction is trivial, but this is distinct from active in-the-wild exploitation. Net: a real, easily-reproduced authorization flaw whose impact is metadata information disclosure, not account takeover or code execution. |
| Exploit ScenarioDerived | A low-privilege (0-privilege) authenticated user of the Grav Admin Panel requests another user's account endpoint (e.g. GET /admin/accounts/users/admin); although the server returns HTTP 403 Forbidden, the target admin's email address is still embedded in the response's <title> tag. Publicly available exploit code exists (documented PoC plus PoC video in the GHSA advisory), so any attacker with a low-privilege login can harvest admin emails and metadata to fuel targeted phishing, credential stuffing, or social engineering. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 26, 2026
Information disclosure in the Grav CMS Admin Panel affects every release prior to 1.8.0-beta.27, allowing any authenticated low-privilege (0-privilege) account to harvest other users' email addresses and account metadata, including those of the site administrator. An attacker requests another user's account page at /admin/accounts/users/{username} (for example /admin/accounts/users/admin) and, although the endpoint answers with HTTP 403 Forbidden, the target's email address is still interpolated into the <title> tag of the returned page body, so the blocked response leaks data anyway. Publicly available exploit code exists in the form of a published GHSA write-up and PoC video, but there is no confirmed active exploitation (not in CISA KEV) and EPSS is only 0.04% (13th percentile); the practical risk is targeted phishing, credential stuffing and social engineering rather than account takeover, as no read/write escalation, privilege gain or code execution is achievable.
Earlier versions of this analysis (1)
RemediationAI
Vendor-released patch: upgrade Grav to 1.8.0-beta.27 or later, which removes the email interpolation from the Flex account-list template; the exact upstream change is commit b7e1958a6e807ac14919447b60e5204a2ea77f62 in https://github.com/getgrav/grav/commit/b7e1958a6e807ac14919447b60e5204a2ea77f62, with details in GHSA-4cwq-j7jv-qmwg. Because the fixed build is a beta release, operators on stable 1.7.x who cannot move to the 1.8.0 beta line should apply the single-line template change to system/blueprints/flex/user-accounts.yaml manually (change the list template to "{{ form.value('fullname') ?? form.value('username') }}", dropping the trailing email token) and track it so the patch is not reverted by the next core update; this eliminates the leak but changes how account labels appear in the Admin Panel user list. As a compensating control, restrict the admin interface at /admin (and specifically /admin/accounts/users/*) to trusted networks via reverse-proxy IP allowlisting, VPN, or HTTP basic auth in front of the panel - note this only reduces the exposed attack surface and does not fix the underlying IDOR, and it can lock out legitimate remote administrators. Audit existing accounts and force a password reset for any admin whose email may have been enumerated, since the disclosed metadata primarily enables phishing, credential-stuffing and social-engineering follow-on attacks; EPSS is 0.04% and there is no KEV listing, so remediation can proceed on a normal, risk-based schedule rather than as an emergency.
Affected VersionsENISA
Affected Packages
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
The flaw is an Insecure Direct Object Reference / authorization bypass through user-controlled key (CWE-639) in Grav's Admin Panel, which is built on the Grav 'Flex' object system. Account listings are rendered through the Flex blueprint at system/blueprints/flex/user-accounts.yaml, whose list configuration defines a display template of the form "{{ form.value('fullname') ?? form.value('username') }} <{{ form.value('email') }}>", with the underlying account objects assembled by system/src/Grav/Common/Flex/Types/Users/UserCollection.php. When a low-privilege user requests another account's object, Grav's access controls correctly return HTTP 403 Forbidden, but the blueprint template has already been evaluated and the resulting fullname/email string is emitted into the page's <title> element - a classic case of an authorization check being applied to the response status while sensitive object metadata is still rendered into the body. The upstream fix (commit b7e1958a6e807ac14919447b60e5204a2ea77f62) simply removes the email interpolation from the template, dropping it to "{{ form.value('fullname') ?? form.value('username') }}". CPE data (cpe:2.3:a:getgrav:grav:* plus explicit 1.8.0 beta1 through beta17 entries) plus the EUVD range 'grav < 1.8.0-beta.27' and the Composer package composer/getgrav/grav (< 1.8.0-beta.27) confirm that the entire Grav line, including the 1.8.0 beta pre-releases, is affected; the reporting researcher reproduced it on Grav Admin 1.7.48. Note the scoring divergence: NVD's CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N rates confidentiality High, whereas independent assessment rates the same vector with C:L, since only an email address and minor account metadata are exposed and no account takeover, modification or availability impact exists.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network-reachable admin panel with a low-privilege account required (PR:L) and no user interaction; impact is limited to disclosure of email/metadata so C:L not C:H, with no integrity or availability impact.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
5DescriptionNVD
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, there is an IDOR (Insecure Direct Object Reference) vulnerability in the Grav CMS Admin Panel which allows low-privilege users to access sensitive information from other accounts. Although direct account takeover is not possible, admin email addresses and other metadata can be exposed, increasing the risk of phishing, credential stuffing, and social engineering. This vulnerability is fixed in 1.8.0-beta.27.
Executive ViewAI
Organizations using Grav should be aware of moderate risk from CVE-2025-66306, a IDOR vulnerability rated CVSS 4.3. Exploitation could compromise the security of affected deployments. Proof-of-concept code is publicly available. A patch is available and should be applied during regular vulnerability management.
Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.
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
Related Vulnerabilities in Grav CMS Code Injection and Privilege Escalation
View all 13A 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
Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary
EUVD-2025-200104
GHSA-4cwq-j7jv-qmwg
NVD
CVE.org
EPSS
VulDB
Exploit-DB