Read the docs
TI-2025-40778 Aliases CVE-2025-66304GHSA-gq3g-666w-7h85

Grav Exposes Password Hashes Leading to privilege escalation

Priority HIGH 67CWE-200Published · Updated

Key facts

Attack vector
Network
Privileges required
High
User interaction
None
Attack complexity
Low
Impact type
Information disclosure
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-200.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.0044 38th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed grav (getgrav): 1.8.0-beta.27getgrav/grav (Packagist): 1.8.0-beta.27

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
getgravgravbefore 1.8.0-beta.271.8.0-beta.27Patch availableCNA
—getgrav/grav (Packagist)before 1.8.0-beta.271.8.0-beta.27Patch availableGHSA-gq3g-666w-7h85
  • grav Vendorgetgrav Affected before 1.8.0-beta.27 Fixed in 1.8.0-beta.27 Patch available CNA
  • getgrav/grav (Packagist) Vendor— Affected before 1.8.0-beta.27 Fixed in 1.8.0-beta.27 Patch available GHSA-gq3g-666w-7h85

CPE configurations NVD · 27

CPEVersionsRoleVendor
cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*1.7.46 to before 1.8.0Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta1:*:*:*:*:*:*1.8.0 beta1Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta10:*:*:*:*:*:*1.8.0 beta10Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta11:*:*:*:*:*:*1.8.0 beta11Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta12:*:*:*:*:*:*1.8.0 beta12Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta13:*:*:*:*:*:*1.8.0 beta13Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta14:*:*:*:*:*:*1.8.0 beta14Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta15:*:*:*:*:*:*1.8.0 beta15Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta16:*:*:*:*:*:*1.8.0 beta16Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta17:*:*:*:*:*:*1.8.0 beta17Vulnerablegetgrav
  • cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* Versions 1.7.46 to before 1.8.0 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta1:*:*:*:*:*:* Versions 1.8.0 beta1 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta10:*:*:*:*:*:* Versions 1.8.0 beta10 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta11:*:*:*:*:*:* Versions 1.8.0 beta11 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta12:*:*:*:*:*:* Versions 1.8.0 beta12 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta13:*:*:*:*:*:* Versions 1.8.0 beta13 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta14:*:*:*:*:*:* Versions 1.8.0 beta14 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta15:*:*:*:*:*:* Versions 1.8.0 beta15 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta16:*:*:*:*:*:* Versions 1.8.0 beta16 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta17:*:*:*:*:*:* Versions 1.8.0 beta17 Vulnerable ·getgrav
Show 17 more CPE
CPEVersionsRoleVendor
cpe:2.3:a:getgrav:grav:1.8.0:beta18:*:*:*:*:*:*1.8.0 beta18Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta19:*:*:*:*:*:*1.8.0 beta19Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta2:*:*:*:*:*:*1.8.0 beta2Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta20:*:*:*:*:*:*1.8.0 beta20Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta21:*:*:*:*:*:*1.8.0 beta21Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta22:*:*:*:*:*:*1.8.0 beta22Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta23:*:*:*:*:*:*1.8.0 beta23Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta24:*:*:*:*:*:*1.8.0 beta24Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta25:*:*:*:*:*:*1.8.0 beta25Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta26:*:*:*:*:*:*1.8.0 beta26Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta3:*:*:*:*:*:*1.8.0 beta3Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta4:*:*:*:*:*:*1.8.0 beta4Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta5:*:*:*:*:*:*1.8.0 beta5Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta6:*:*:*:*:*:*1.8.0 beta6Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta7:*:*:*:*:*:*1.8.0 beta7Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta8:*:*:*:*:*:*1.8.0 beta8Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta9:*:*:*:*:*:*1.8.0 beta9Vulnerablegetgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta18:*:*:*:*:*:* Versions 1.8.0 beta18 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta19:*:*:*:*:*:* Versions 1.8.0 beta19 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta2:*:*:*:*:*:* Versions 1.8.0 beta2 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta20:*:*:*:*:*:* Versions 1.8.0 beta20 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta21:*:*:*:*:*:* Versions 1.8.0 beta21 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta22:*:*:*:*:*:* Versions 1.8.0 beta22 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta23:*:*:*:*:*:* Versions 1.8.0 beta23 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta24:*:*:*:*:*:* Versions 1.8.0 beta24 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta25:*:*:*:*:*:* Versions 1.8.0 beta25 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta26:*:*:*:*:*:* Versions 1.8.0 beta26 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta3:*:*:*:*:*:* Versions 1.8.0 beta3 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta4:*:*:*:*:*:* Versions 1.8.0 beta4 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta5:*:*:*:*:*:* Versions 1.8.0 beta5 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta6:*:*:*:*:*:* Versions 1.8.0 beta6 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta7:*:*:*:*:*:* Versions 1.8.0 beta7 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta8:*:*:*:*:*:* Versions 1.8.0 beta8 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta9:*:*:*:*:*:* Versions 1.8.0 beta9 Vulnerable ·getgrav

Remediation

  • Fix · CNA grav (getgrav) Fixed in 1.8.0-beta.27
  • Fix · GHSA-gq3g-666w-7h85 getgrav/grav (Packagist) Fixed in 1.8.0-beta.27 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-66304
  2. 2026-10-03 Alias added: GHSA-gq3g-666w-7h85

References

  • TI-2025-28971 Cross Site Scripting vulnerability in grav v.1.7.48 and before allows an attacker to… CVSS 3.1CRITICAL 9.8
  • TI-2021-22428 GravCMS 1.10.7 - Arbitrary YAML Write/Update (Unauthenticated) (2) CVSS 4.0CRITICAL 9.3
  • TI-2025-41064 In grav <1.7.49.5, a SSRF (Server-Side Request Forgery) vector may be triggered via Twig… CVSS 3.1CRITICAL 9.1
  • TI-2026-30888 Grav: Unauthenticated Path Traversal & Arbitrary File Write in FormFlash component. CVSS 4.0HIGH 8.8
  • TI-2025-40773 Security Sandbox Bypass with SSTI (Server Side Template Injection) in the Grav CMS CVSS 3.1HIGH 8.8
  • TI-2025-40768 Grav is vulnerable to RCE via SSTI through Twig Sandbox Bypass CVSS 4.0HIGH 8.7
See all 56 →

Sources