CVE-2025-66310 Grav vulnerable to Cross-Site Scripting (XSS) Stored endpoint `/admin/pages/[page]` parameter `data[header][template]` in Advanced Tab
Attackers can inject malicious scripts into Grav CMS page templates, leading to code execution or account takeover when rendered.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-66310?
CVE-2025-66310 is a medium-severity cross-site scripting vulnerability in getgrav grav, published on 1 Dec 2025. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.
Official description
This admin plugin for Grav is an HTML user interface that provides a convenient way to configure Grav and easily create and modify pages. Prior to 1.11.0-beta.1, a Stored Cross-Site Scripting (XSS) vulnerability was identified in the /admin/pages/[page] endpoint of the Grav application. This vulnerability allows attackers to inject malicious scripts into the data[header][template] parameter. The script is saved within the page's frontmatter and executed automatically whenever the affected content is rendered in the administrative interface or frontend view. This vulnerability is fixed in 1.11.0-beta.1.
Weakness: CWE-79
Which versions are affected by CVE-2025-66310?
2 open source packages ship an affected version, including getgrav/grav. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
getgrav/grav Packagist | All versions | 1.8.0-beta.27 |
getgrav/grav Packagist | All versions | 1.8.0-beta.27 |
Products include Getgrav Grav-Plugin-Admin.
How do I fix CVE-2025-66310?
Upgrade getgrav/grav to 1.8.0-beta.27 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2025-66310 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-66310 exists.
Other vulnerabilities in getgrav grav
- CVE-2021-21425 Unauthenticated Arbitrary YAML Write/Update leads to Code Execution
- CVE-2025-66308 Grav Admin Plugin vulnerable to Cross-Site Scripting (XSS) Stored endpoint `/admin/config/site` parameter `data[taxonomies]`
- CVE-2025-66307 Grav Admin Plugin vulnerable to User Enumeration & Email Disclosure
- CVE-2025-66309 Grav is vulnerable to Cross-Site Scripting (XSS) Reflected endpoint /admin/pages/[page], parameter data[header][content][items], located in the "Blog Config" tab
- CVE-2025-66311 Grav vulnerable to Cross-Site Scripting (XSS) Stored endpoint `/admin/pages/[page]` in Multiples parameters
Sources
Also known as GHSA-7g78-5g5g-mvfj.