CVE-2025-66300

8.5 HIGH

📋 TL;DR

A low-privilege user with page editing access in Grav can read arbitrary server files, including sensitive user account files containing password hashes and 2FA secrets. This allows account compromise through password reset token theft or hash cracking. All Grav installations with user accounts are affected.

💻 Affected Systems

Products:
  • Grav CMS
Versions: All versions prior to 1.8.0-beta.27
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires at least one user account with page editing privileges to exploit.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise through admin account takeover, leading to data theft, website defacement, or server compromise.

🟠

Likely Case

Privilege escalation where low-privilege users compromise admin or other user accounts to gain unauthorized access.

🟢

If Mitigated

Limited impact if strict access controls prevent unauthorized users from obtaining page editing privileges.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated low-privilege access but is straightforward once obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.0-beta.27

Vendor Advisory: https://github.com/getgrav/grav/security/advisories/GHSA-p4ww-mcp9-j6f2

Restart Required: No

Instructions:

1. Backup your Grav installation. 2. Update Grav to version 1.8.0-beta.27 or later via the admin panel or CLI. 3. Verify the update completed successfully.

🔧 Temporary Workarounds

Restrict Page Editing Privileges

all

Temporarily remove page editing access from all non-admin users until patched.

Edit user account YAML files to remove 'pages' permission

🧯 If You Can't Patch

  • Implement strict access controls to limit page editing to trusted administrators only.
  • Monitor user account files for unauthorized access attempts and review audit logs regularly.

🔍 How to Verify

Check if Vulnerable:

Check Grav version in admin panel or via CLI: 'bin/gpm version'.

Check Version:

bin/gpm version

Verify Fix Applied:

Confirm version is 1.8.0-beta.27 or higher using the same command.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file read attempts in Grav logs
  • Multiple failed login attempts followed by successful access

Network Indicators:

  • Unusual outbound traffic from Grav server

SIEM Query:

source="grav_logs" AND (event="file_read" OR event="unauthorized_access")

🔗 References

📤 Share & Export