Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain admin account with user-mgmt read access
-
DeliveryOpen user account management page
-
ExploitInspect page source for exposed hashes
-
ExecutionOffline-crack bcrypt admin hash
-
ImpactLog in as full administrator
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 Grav admin-panel account that has been granted READ access to the user account management section (a privileged, non-default delegation). With that access the attacker simply views the user profile page and reads the bcrypt hash embedded in the page source - no additional exploit needed for disclosure. What LIMITS exploitation: (1) the privileged read grant on user accounts must exist, so it is not exploitable by anonymous or ordinary front-end users; (2) actual privilege escalation additionally requires successfully offline-cracking a bcrypt hash, which may be infeasible for a strong admin password. Affects Grav prior to 1.8.0-beta.27; fixed in 1.8.0-beta.27. |
| Impact | This is a genuine but distinctly non-critical issue whose real-world risk sits below its NVD score. The NVD CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H = 7.2) is inconsistent with the actual defect: the vulnerability directly exposes bcrypt password hashes to an already-authenticated admin-panel user who holds read access to user account management (PR:H). The claimed I:H/A:H are speculative - integrity/availability impact only materializes if an attacker successfully offline-cracks a bcrypt hash, which is not guaranteed and is itself a high-complexity step. The vendor's own GHSA rating (6.2, AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L) is more honest about complexity by using AC:H, though it still assigns downstream I/A impact. The certain, direct impact is confidentiality (C:H). Exploitation signals reinforce a low-urgency picture: EPSS is only 0.08% (23rd percentile), there is no CISA KEV listing, and while PoC steps exist in the X41/GitHub advisory, PoC availability is not active exploitation. The dominant limiting factor is PR:H - an attacker must first possess a Grav admin account with user-management read rights, which is a privileged, non-default grant. Net: a real integrity/hygiene fix worth applying, but not an emergency; effective exploitation is gated behind privileged access AND successful bcrypt cracking. |
| Exploit ScenarioDerived | A Grav operator delegates limited admin-panel access to a lower-trust user, granting read permission on the user account management section. That user opens the admin profile page (e.g. /admin/accounts/users/admin), inspects the raw page source, and recovers every user's bcrypt password hash including the administrator's, as demonstrated in the publicly available X41 D-Sec proof-of-concept in GHSA-gq3g-666w-7h85. They then run an offline cracking tool against the admin hash and, if it cracks, log in as full administrator. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 26, 2026
Grav CMS before 1.8.0-beta.27 discloses bcrypt password hashes - including the administrator's - to an authenticated admin-panel account that has been granted read access to the user account management section, allowing those hashes to be read from the rendered profile page's source and cracked offline. The confirmed impact is a confidentiality loss, consistent with our assessment vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N; any actual privilege escalation is conditional on successfully cracking a bcrypt hash, which may be impractical against a strong admin password, and the exposure requires a non-default privileged read grant rather than anonymous access. Publicly available exploit code exists, EPSS is low (0.08%, ~23rd percentile), and there is no evidence of active exploitation; the vendor fixed the issue in 1.8.0-beta.27.
Earlier versions of this analysis (1)
RemediationAI
Upgrade Grav to 1.8.0-beta.27 or later, which is the vendor-released fix (Composer package composer/getgrav/grav, fixed in 1.8.0-beta.27); the patch is contained in commit https://github.com/getgrav/grav/commit/9d11094e4133f059688fad1e00dbe96fb6e3ead7 and described in advisory https://github.com/getgrav/grav/security/advisories/GHSA-gq3g-666w-7h85. If upgrading is not immediately possible, the effective compensating control is to revoke READ access to the user account management section from all non-administrator admin-panel accounts, since the flaw only manifests for accounts holding that specific permission - the trade-off is reduced delegation for staff who legitimately manage user data. The upstream advisory states no code-level workaround is known, so permission tightening is the only interim mitigation and it does not protect accounts that legitimately need that read access. Because the exposed values are bcrypt password hashes and 2FA secrets, treat any prior exposure as a credential compromise: rotate the passwords of all accounts (especially the administrator) and re-provision 2FA secrets, as offline cracking of a weak password can subsequently yield full administrative access.
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
Grav is a PHP-based flat-file CMS whose administration UI is built on its Flex and DataUser user objects. The root cause is CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): the user object classes serialized their full internal state to JSON for the admin frontend, including fields such as hashed_password, secret, and twofa_secret, so any admin account with read permission on user account management could retrieve the bcrypt hash for every user, including the admin. The upstream fix (commit 9d11094e4133f059688fad1e00dbe96fb6e3ead7) overrides jsonSerialize() in system/src/Grav/Common/Flex/Types/Users/UserObject.php and system/src/Grav/Common/User/DataUser/User.php to unset hashed_password, secret, and twofa_secret before serialization. The same commit bundles an unrelated scheduler hardening fix for invalid cron expressions (GHSA-x62q-p736-3997), and accompanying unit tests reference both GHSA-gq3g-666w-7h85 and the cron DoS issue. Affected CPEs map to getgrav:grav, covering all releases before 1.8.0-beta.27 and the 1.8.0 beta line up to beta17 (beta1 through beta17), as enumerated by the 1.8.0-beta.27 fix boundary reported under EUVD-2025-200106.
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:H/UI:N/S:U/C:H/I:H/A:H
Requires a privileged admin-panel account with user-mgmt read access (PR:H); disclosure is trivial via page source (AC:L); direct impact is confidentiality only (C:H), as integrity/availability require speculative offline bcrypt cracking.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
6DescriptionNVD
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, users with read access on the user account management section of the admin panel can view the password hashes of all users, including the admin user. This exposure can potentially lead to privilege escalation if an attacker can crack these password hashes. This vulnerability is fixed in 1.8.0-beta.27.
Executive ViewAI
Organizations using Grav should be aware of moderate risk from CVE-2025-66304, a information exposure vulnerability rated CVSS 6.2. Sensitive information could be exposed to unauthorized parties. 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 endpoint access, redact sensitive data in logs.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-200106
GHSA-gq3g-666w-7h85
NVD
CVE.org
EPSS
VulDB
Exploit-DB