Skip to content
OpenAdvisories
Medium · 5.4 CVE-2026-72832 EUVD-2026-58646GHSA-269c-h76q-8cxwGHSA-cgvr-f65r-pjv3

Grav before 2.0.13 Stored XSS via quoted-attribute bypass

Published Aug 14, 2026 · Updated Oct 29, 2026 · Assigned by VulnCheck

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.

Affected products

VendorProductAffectedFixed
getgrav grav 1.5.2 – ≤ 2.0.12 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist getgrav/grav >= 1.5.2, < 2.0.13 2.0.13 GHSA-269c-h76q-8cxw

References