{"id":"GHSA-993v-76jg-67xr","title":"Duplicate Advisory: Grav: Single invalid UTF-8 byte disables every rule in Security::detectXss(), bypassing the page-content XSS safety gate","summary":"Duplicate Advisory: Grav: Single invalid UTF-8 byte disables every rule in Security::detectXss(), bypassing the page-content XSS safety gate","severity":"medium","cvss":5.4,"cwe":["CWE-79"],"vendor":"getgrav","product":"getgrav/grav","ecosystem":"composer","affected":["getgrav/grav < 2.0.14"],"published":"2026-08-18","updated":"2026-09-17","sourceUpdated":"2026-09-17T20:56:29Z","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-993v-76jg-67xr","references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-q2j8-x8hf-63ch"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-75834"},{"url":"https://www.vulncheck.com/advisories/grav-before-stored-xss-via-invalid-utf-8-byte"},{"url":"https://github.com/advisories/GHSA-993v-76jg-67xr"}],"tags":["ghsa","composer"],"ingestedAt":"2026-09-17T21:29:16.994Z","slug":"GHSA-993v-76jg-67xr","body":"## Overview\n\n### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-q2j8-x8hf-63ch. This link is maintained to preserve external references.\n\n### Original Description\nGrav before 2.0.14 contains a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). All XSS detection patterns use the PCRE /u (UTF-8) modifier, so a single invalid UTF-8 byte anywhere in page content causes preg_match() to return false for every pattern, silently bypassing the save-time XSS safety gate (Validation::checkSafety()). An authenticated attacker with page-edit permissions (without the security.xss_whitelist privilege) can store malicious JavaScript that executes in the browser of a visitor who views the affected page.\n\n## Affected packages\n\n- `getgrav/grav < 2.0.14`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":29.7,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}