CVE-2026-75831: Stored Cross-Site Scripting in Grav CMS Audio/Video Media Rendering
Vulnerability ID: CVE-2026-75831
CVSS Score: 7.6
Published: 2026-09-17
Improper neutralization of input during web page generation in Grav CMS allows authenticated users with page modification privileges to execute stored Cross-Site Scripting (XSS) attacks. The flaw exists in AudioMediaTrait and VideoMediaTrait where media source URLs are concatenated directly into HTML templates without proper escaping.
TL;DR
A stored Cross-Site Scripting vulnerability in Grav CMS versions prior to 2.0.15 allows authenticated editors to insert arbitrary JavaScript via malicious audio/video file paths, which executes in the context of any user (including administrators) viewing the page.
⚠️ Exploit Status: POC
Technical Details
- CWE ID: CWE-79
- Attack Vector: Network (AV:N)
- CVSS v3.1 Score: 7.6 (High)
- EPSS Score: 0.00313 (0.31%)
- Impact: Stored Cross-Site Scripting (XSS)
- Exploit Status: Proof-of-Concept
- KEV Status: Not Listed
Affected Systems
- Grav CMS
-
Grav: < 2.0.15 (Fixed in:
2.0.15)
Code Analysis
Commit: d5f89d9
Escape the URL before it lands in the rawHtml source string to prevent Stored XSS (GHSA-6qw9-4vv5-jr97)
Exploit Details
- GitHub Security Advisory: Description of the stored XSS vulnerability and remediation details
Mitigation Strategies
- Upgrade Grav CMS core to version 2.0.15 or later.
- Deploy a robust Content Security Policy (CSP) to block unauthenticated inline scripts.
- Utilize WAF rules to detect and drop payloads containing attribute breakout characters in markdown submissions.
Remediation Steps:
- Navigate to the Grav Admin Panel.
- Select the update notification or run 'bin/gpm self-upgrade' via the command line interface.
- Verify that 'AudioMediaTrait.php' and 'VideoMediaTrait.php' contain the htmlspecialchars wrapping for the $location variable.
- Clear the Grav cache by executing 'bin/grav clear-cache'.
References
- GHSA-6qw9-4vv5-jr97: Stored XSS in Grav CMS Audio/Video Media Rendering
- Grav Fix Commit
- VulnCheck Advisory for CVE-2026-75831
- NVD - CVE-2026-75831
Read the full report for CVE-2026-75831 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)