Description
Grav is a file-based Web platform. Prior to 2.0.0-beta.2, a stored Cross-Site Scripting (XSS) vulnerability in getgrav/grav allows publisher-level accounts to execute arbitrary JavaScript. The issue arises from a blacklist bypass in the detectXss() function when handling unquoted HTML event attributes. This vulnerability is fixed in 2.0.0-beta.2.
Published: 2026-05-11
Score: 8.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability stems from a blacklist bypass in Grav's detectXss() routine that fails to sanitize unquoted HTML event attributes. A publisher‑level user can store malicious JavaScript that is later executed in any browser that renders the page, potentially leaking session data, defacing content or redirecting users. This stored Cross‑Site Scripting (CWE‑79) can be exploited at the level of the content author, meaning any reading user falls victim when the page is viewed.

Affected Systems

All Grav installations using getgrav:grav before version 2.0.0‑beta.2 are vulnerable. The affected product is the Grav file‑based web platform with unpatched detectXss() handling. Any instance running a version older than 2.0.0‑beta.2 should be considered at risk.

Risk and Exploitability

The CVSS score of 8.5 indicates a high risk, but the EPSS score is not available, suggesting the probability of exploitation is unclear. The vulnerable code is in content storage, so exploitation requires a compromised or compromised publisher‑level account or an attacker who can inject content into the system. Once the malicious payload resides in the database, any visitor to the affected page will execute the script, allowing the attacker to carry out session hijacking, phishing, or data theft. The vulnerability is not listed in CISA's KEV catalog, so no known widespread exploitation has been reported, but the high severity warrants immediate remediation.

Generated by OpenCVE AI on May 11, 2026 at 16:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Grav to version 2.0.0‑beta.2 or later, which contains a fixed detectXss() routine that properly sanitizes event attributes.
  • If an immediate upgrade is not possible, restrict publisher‑level account privileges so they cannot add arbitrary HTML, or enforce content filtering that requires quoted event attributes.
  • Audit any existing content for injected scripts and remove or sanitize it to eliminate stored payloads.

Generated by OpenCVE AI on May 11, 2026 at 16:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9695-8fr9-hw5q Grav Vulnerable to Publisher-Level Stored XSS via Unquoted Event Attributes
History

Tue, 12 May 2026 16:30:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:beta1:*:*:*:*:*:*

Mon, 11 May 2026 19:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 11 May 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Getgrav
Getgrav grav
Vendors & Products Getgrav
Getgrav grav

Mon, 11 May 2026 15:30:00 +0000

Type Values Removed Values Added
Description Grav is a file-based Web platform. Prior to 2.0.0-beta.2, a stored Cross-Site Scripting (XSS) vulnerability in getgrav/grav allows publisher-level accounts to execute arbitrary JavaScript. The issue arises from a blacklist bypass in the detectXss() function when handling unquoted HTML event attributes. This vulnerability is fixed in 2.0.0-beta.2.
Title Grav: Publisher-Level Stored XSS via Unquoted Event Attributes
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 8.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-11T19:07:03.699Z

Reserved: 2026-04-29T00:31:15.726Z

Link: CVE-2026-42612

cve-icon Vulnrichment

Updated: 2026-05-11T18:53:02.822Z

cve-icon NVD

Status : Analyzed

Published: 2026-05-11T16:17:34.350

Modified: 2026-05-12T16:16:40.253

Link: CVE-2026-42612

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-11T17:00:15Z

Weaknesses