PatchSiren cyber security CVE debrief
CVE-2026-75834 getgrav CVE debrief
CVE-2026-75834 is a stored cross-site scripting vulnerability in Grav before 2.0.14. An authenticated attacker with page-edit permissions can store malicious JavaScript that executes in the browser of a visitor who views the affected page. This vulnerability exists in the Security::detectXss() function in system/src/Grav/Common/Security.php, where the XSS detection patterns use the PCRE /u (UTF-8) modifier. This causes preg_match() to return false for every pattern if a single invalid UTF-8 byte is present in page content, allowing the attacker to bypass the save-time XSS safety gate. System administrators and security teams should assess exposure and prioritize updating to version
- Vendor
- getgrav
- Product
- grav
- CVSS
- MEDIUM 5.1
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-08-18
- Original CVE updated
- 2026-09-08
- Advisory published
- 2026-08-18
- Advisory updated
- 2026-09-08
Who should care
System administrators and security teams responsible for Grav installations, especially those allowing page edits, should assess exposure and prioritize updating to version 2.0.14 or later.
Why it matters
CVE-2026-75834 is a stored cross-site scripting vulnerability in Grav before 2.0.14. An authenticated attacker with page-edit permissions can store malicious JavaScript that executes in the browser of a visitor who views the affected page. This vulnerability has a CVSS score of 5.1 and is considered medium severity. System administrators and security teams responsible for Grav installations, especially those allowing page edits, should assess exposure and prioritize updating to version 2.0.14 or later.
- Execution of malicious JavaScript in visitors' browsers
- Potential theft of sensitive information
- Defacement of web pages or unauthorized actions
Technical summary
The vulnerability exists in the Security::detectXss() function in system/src/Grav/Common/Security.php. The XSS detection patterns use the PCRE /u (UTF-8) modifier, which causes preg_match() to return false for every pattern if a single invalid UTF-8 byte is present in page content. This allows an authenticated attacker with page-edit permissions to store malicious JavaScript that executes in the browser of a visitor who views the affected page.
Defensive priority
Medium priority for systems using Grav versions before 2.0.14, especially those allowing page edits.
Recommended defensive actions
- Update Grav to version 2.0.14 or later
- Restrict page edit permissions to trusted users
- Monitor for suspicious page content changes
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The vulnerability exists in the Security::detectXss() function in system/src/Grav/Common/Security.php. The XSS detection patterns use the PCRE /u (UTF-8) modifier, which causes preg_match() to return false for every pattern if a single invalid UTF-8 byte is present in page content.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-75834 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-75834
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-75834 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-75834
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/getgrav/grav/security/advisories/GHSA-q2j8-x8hf-63ch
-
Source reference
Unverified legacy reference
URL: https://www.vulncheck.com/advisories/grav-before-stored-xss-via-invalid-utf-8-byte
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.