Skip to main content

Grav CVE-2025-66304

| EUVDEUVD-2025-200106 HIGH
Information Exposure (CWE-200)
2025-12-01 security-advisories@github.com GHSA-gq3g-666w-7h85
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Obtain admin account with user-mgmt read access
  2. Delivery
    Open user account management page
  3. Exploit
    Inspect page source for exposed hashes
  4. Execution
    Offline-crack bcrypt admin hash
  5. Impact
    Log 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.

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

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

Alert me

AnalysisAIv2 – 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)
v1 Mar 15, 2026 - 13:34 CVSS 6.2

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

grav < 1.8.0-beta.27

Affected Packages

composer getgrav/grav fix: 1.8.0-beta.27
euvd grav fix: 1.8.0-beta.27

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

NVD PRIMARY 7.2 HIGH
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 4.9 MEDIUM

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.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Severity Changed
Sep 26, 2026 - 00:22 NVD
MEDIUM HIGH
CVSS changed
Sep 26, 2026 - 00:22 NVD
6.2 (MEDIUM) 7.2 (HIGH)
Patch released
Mar 15, 2026 - 13:34 nvd
Patch available
PoC Detected
Dec 03, 2025 - 18:57 vuln.today
Public exploit code
CVE Published
Dec 01, 2025 - 22:15 nvd
HIGH 7.2
CVE Published
Dec 01, 2025 - 22:15 nvd
MEDIUM 6.2

DescriptionNVD

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

Why It Matters

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.

Business Impact: Low
Compensating Controls

Apply vendor patch. If patching is delayed: restrict endpoint access, redact sensitive data in logs.

Threat Intelligence Overview

EPSS Score
0.1%
Top 77% exploitable
Prevalence
Low
niche open-source flat-file CMS, modest developer-oriented deployment footprint
Exploit
POC
Public exploit code exists
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 Yes
EPSS 0.1%
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· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Low

Priority Score

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

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.

More in Grav

View all
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-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