{"id":"GHSA-9pr6-8r9w-wvmj","title":"Duplicate Advisory: Grav: detectXss() misses an event-handler attribute after an unpaired quote in an unquoted attribute value, giving stored XSS","summary":"Duplicate Advisory: Grav: detectXss() misses an event-handler attribute after an unpaired quote in an unquoted attribute value, giving stored XSS","severity":"critical","cvss":8.7,"cwe":["CWE-79"],"vendor":"getgrav","product":"getgrav/grav","ecosystem":"composer","affected":["getgrav/grav < 2.0.15"],"published":"2026-08-18","updated":"2026-09-17","sourceUpdated":"2026-09-17T20:56:28Z","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-9pr6-8r9w-wvmj","references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-vfmf-q6x9-cw96"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-75828"},{"url":"https://www.vulncheck.com/advisories/grav-before-stored-xss-via-detectxss-quote-bypass"},{"url":"https://github.com/advisories/GHSA-9pr6-8r9w-wvmj"}],"tags":["ghsa","composer"],"ingestedAt":"2026-09-17T21:29:16.994Z","slug":"GHSA-9pr6-8r9w-wvmj","body":"## Overview\n\n### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-vfmf-q6x9-cw96. This link is maintained to preserve external references.\n\n### Original Description\nGrav before 2.0.15 contains a stored cross-site scripting vulnerability in the detectXss() function where unpaired quotes in unquoted attribute values bypass event-handler detection. Authenticated editors can inject event handlers like onerror= that pass validation and execute in visitor browsers when page content is rendered.\n\n## Affected packages\n\n- `getgrav/grav < 2.0.15`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"midnight","depthScore":48,"depthScoreParts":{"impact":47.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}