CVE-2025-66301

9.6 CRITICAL

📋 TL;DR

This vulnerability allows editors with limited permissions in Grav CMS to modify form processing logic by manipulating YAML frontmatter in POST requests. Attackers could change form behavior to execute unauthorized actions after user submissions. All Grav installations prior to version 1.8.0-beta.27 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 editor-level access to the admin interface. The vulnerability exists in the default configuration when using the admin panel.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could modify form processing to execute arbitrary code, leading to remote code execution, data exfiltration, or complete system compromise.

🟠

Likely Case

Unauthorized modification of form behavior leading to data manipulation, privilege escalation, or injection of malicious actions in form submissions.

🟢

If Mitigated

With proper authorization controls, impact is limited to authorized users only making legitimate form modifications.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated editor access. The vulnerability is straightforward to exploit once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.0-beta.27

Vendor Advisory: https://github.com/getgrav/grav/security/advisories/GHSA-v8x2-fjv7-8hjh

Restart Required: No

Instructions:

1. Backup your Grav installation. 2. Update Grav to version 1.8.0-beta.27 or later using the built-in GPM (Grav Package Manager) or manual update. 3. Verify the update completed successfully.

🔧 Temporary Workarounds

Restrict Admin Access

all

Limit access to the Grav admin panel to only trusted users who require it.

Implement Web Application Firewall

all

Deploy a WAF to monitor and block suspicious POST requests to /admin/pages/ endpoints.

🧯 If You Can't Patch

  • Implement strict access controls to limit who can access the Grav admin interface
  • Monitor logs for suspicious POST requests to /admin/pages/ endpoints and investigate any unauthorized modifications

🔍 How to Verify

Check if Vulnerable:

Check your Grav version. If it's earlier than 1.8.0-beta.27, you are vulnerable.

Check Version:

php bin/grav version

Verify Fix Applied:

After updating, verify the version is 1.8.0-beta.27 or later and test that unauthorized form modifications are properly blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /admin/pages/{page_name} endpoints
  • Modifications to form processing YAML by non-admin users
  • Multiple failed authorization attempts on admin pages

Network Indicators:

  • POST requests to /admin/pages/ with modified data[_json][header][form] parameters
  • Unusual traffic patterns to admin endpoints

SIEM Query:

source="grav_logs" AND (uri_path="/admin/pages/*" AND http_method="POST" AND user_role="editor")

🔗 References

📤 Share & Export