CVE-2025-66301: Grav ihas Broken Access Control which allows an Editor to modify the page's YAML Frontmatter to alter form processing actions
Summary Due to a broken access control vulnerability in the /admin/pages/{pagename} endpoint, an editor ( user with full permissions to pages ) can change the functionality of a form after submission.
Details Due to improper authorization checks when modifying critical fields on a POST request to /admin/pages/{pagename}, an editor with only permissions to change basic content on the form is now able to change the functioning of the form through modifying the content of the data[json][header][form] which is the YAML frontmatter which includes the process section which dictates what happens after a user submits the form which include some important actions that could lead to further vulnerabilities.
PoC
- Have Admin and Form plugins installed - Connect to panel as admin, create user and give him permission for pages all - Now connect as that user and notice you cant edit any process field in the panel - Change anything in the content of the form and save - Intercept the request: !image
- Now modify the field data[json][header][form] with the following payload URL-encoded not like this: {"name":"ssti-test 2","fields":{"name":{"type":"text","label":"Name","required":true}},"buttons":{"submit":{"type":"submit","value":"Submit"}},"process":[{"message":"{{ evaluatetwig(form.value('name')) }}"}]}
- Change the field and forward it: !image
Request goes through and changes have been made to the form. !image
Impact
- Attacker can modify submission logic of the form which leads to changing redirect value, email sending, changing template, breaking out of the Twig sandbox potentially executing code...
Fix recommendation
- Implement proper authorization checks to such requests especially when it contains fields user shouldn't be able to modify based on his role.
Other sources
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, due to improper authorization checks when modifying critical fields on a POST request to /admin/pages/{pagename}, an editor with only permissions to change basic content on the form is now able to change the functioning of the form through modifying the content of the data[json][header][form] which is the YAML frontmatter which includes the process section which dictates what happens after a user submits the form which include some important actions that could lead to further vulnerabilities. This vulnerability is fixed in 1.8.0-beta.27.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2025-66301?
CVE-2025-66301 has been classified with a severity rating that indicates a potential for unauthorized modification of critical page fields.
How do I fix CVE-2025-66301?
To fix CVE-2025-66301, update Grav to version 1.8.0-beta.27 or later to ensure proper authorization checks are enforced.
What versions of Grav are affected by CVE-2025-66301?
CVE-2025-66301 affects all versions of Grav prior to 1.8.0-beta.27.
Can CVE-2025-66301 impact user data security?
Yes, CVE-2025-66301 can impact user data security by allowing unauthorized changes to critical content fields.
What specific actions are vulnerable in CVE-2025-66301?
CVE-2025-66301 allows editors to change functional parameters on POST requests to /admin/pages/{page_name}, which they should not have permission to modify.