Description
Grav versions from 1.5.2 through 2.0.12 contain a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). The event-handler scan is anchored at `<` and uses `[^>]*?`, which cannot cross the first literal `>`; when a `>` appears inside a quoted attribute value the browser keeps the tag open and parses a subsequent event handler (e.g. onerror), so the detector and browser disagree. A page editor without admin.super privileges can save page content such as `<img src=x title=">" onerror=alert(document.domain)>`, which is accepted, stored, and executed in the site origin when any visitor (including unauthenticated users) views the page. Fixed in 2.0.13.
Published: 2026-08-14
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from an error in Grav's XSS detection routine that cannot correctly recognize a closing angle bracket placed inside a quoted attribute value. As a result, an attacker who can edit a page without the admin.super privilege can craft content such as `<img src=x title=">" onerror=alert(document.domain)>`. The offending markup is accepted, stored, and later parsed by browsers which interpret the injected event handler, thereby delivering arbitrary script execution to any visitor, including unauthenticated users. This flaw falls under CWE‑79 and can lead to data theft, phishing or site defacement.

Affected Systems

All Grav installations built with versions from 1.5.2 up to and including 2.0.12 are affected. The issue spans every release listed in the known CPE data and can impact any website running these versions where users with limited authoring permissions can store page content.

Risk and Exploitability

Exploiting the flaw requires only the ability to edit existing pages; no administrative privileges are necessary. After content is stored, any site visitor becomes a potential victim. The CVSS score of 5.1 places the risk in a moderate category, and the EPSS score is currently not available, so the likelihood of widespread exploitation cannot be precisely quantified. The vulnerability is not listed in CISA's KEV catalog, implying that no large‑scale exploitation has been reported yet, but the attack vector and plug‑in‑level nature of the flaw may make targeted attacks more likely.

Generated by OpenCVE AI on August 14, 2026 at 12:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Grav to version 2.0.13 or later to receive the official patch.
  • Revoke editing permissions for any users lacking the admin.super capability, ensuring only trusted administrators can modify page content.
  • Audit existing page content for the specific payload pattern and remove or sanitize any malicious entries before applying the new version.

Generated by OpenCVE AI on August 14, 2026 at 12:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 14 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 14 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Description Grav versions from 1.5.2 through 2.0.12 contain a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). The event-handler scan is anchored at `<` and uses `[^>]*?`, which cannot cross the first literal `>`; when a `>` appears inside a quoted attribute value the browser keeps the tag open and parses a subsequent event handler (e.g. onerror), so the detector and browser disagree. A page editor without admin.super privileges can save page content such as `<img src=x title=">" onerror=alert(document.domain)>`, which is accepted, stored, and executed in the site origin when any visitor (including unauthenticated users) views the page. Fixed in 2.0.13.
Title Grav before 2.0.12 Stored XSS via quoted-attribute bypass
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-79
CPEs cpe:2.3:a:getgrav:grav:1.5.2:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:1.7.53.1:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:1.7.53.2:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:1.7.53:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:-:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc10:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc6:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc7:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc8:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.0:rc9:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.10:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.1:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.2:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.3:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.4:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.5:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.6:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.7:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.8:*:*:*:*:*:*:*
cpe:2.3:a:getgrav:grav:2.0.9:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-14T14:38:24.175Z

Reserved: 2026-08-10T15:13:41.486Z

Link: CVE-2026-72832

cve-icon Vulnrichment

Updated: 2026-08-14T14:37:35.129Z

cve-icon NVD

Status : Received

Published: 2026-08-14T12:16:46.540

Modified: 2026-08-14T15:17:10.800

Link: CVE-2026-72832

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T12:45:17Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')