Description
Grav Shortcode Core Plugin allows for the development shortcode plugins that utilize the common format utilized by WordPress and BBCode. Prior to 6.2.2, Grav Shortcode Core passes shortcode syntax through Security::detectXss() because it contains no literal less-than character, then ColorShortcode.php and related attribute handlers concatenate an attacker-controlled parameter into HTML without encoding. An account with admin.pages permission can close the generated attribute and add an event handler, creating stored cross-site scripting that executes for visitors or administrators who view the page. This issue is fixed in version 6.2.2.
Published: 2026-08-19
Score: 8.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Grav Shortcode Core Plugin, used to build WordPress‑style shortcodes, previously passed shortcode syntax through a detection helper but did not properly escape values supplied to attribute handlers. In particular, ColorShortcode.php concatenates attacker‑controlled attributes directly into generated HTML without encoding. A user with the admin.pages permission can embed a cleverly crafted shortcode that terminates the attribute and injects a JavaScript event handler. The resulting malicious code is stored with the page content and is executed whenever anyone—visitors or administrators—views the page. This stored cross‑site scripting enables client‑side code execution.

Affected Systems

This vulnerability affects all installations of Grav that use the Shortcode Core plugin version 6.2.1 or earlier. The plugin is distributed under the getgrav:grav-plugin-shortcode-core CNA, and the issue remains until version 6.2.2 when the escape logic is corrected.

Risk and Exploitability

The CVSS score of 8.5 classifies this vulnerability as high severity. The EPSS score is less than 1%, indicating a very low exploitation probability, and the vulnerability is not listed in the CISA KEV catalog. The flaw requires an attacker to have an account with the admin.pages permission to embed malicious shortcodes. Once that permission is obtained, the attacker can store the injected code in a page, causing it to execute for any user who views that page.

Generated by OpenCVE AI on August 20, 2026 at 15:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Grav Shortcode Core to version 6.2.2 or later.
  • Restrict the admin.pages permission to trusted personnel only or disable the plugin if it is not needed.
  • Review existing page content for injected shortcodes that contain unescaped attribute values and remove or sanitize them.

Generated by OpenCVE AI on August 20, 2026 at 15:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 20 Aug 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Getgrav
Getgrav grav-plugin-shortcode-core
Vendors & Products Getgrav
Getgrav grav-plugin-shortcode-core

Wed, 19 Aug 2026 16:00:00 +0000

Type Values Removed Values Added
Description Grav Shortcode Core Plugin allows for the development shortcode plugins that utilize the common format utilized by WordPress and BBCode. Prior to 6.2.2, Grav Shortcode Core passes shortcode syntax through Security::detectXss() because it contains no literal less-than character, then ColorShortcode.php and related attribute handlers concatenate an attacker-controlled parameter into HTML without encoding. An account with admin.pages permission can close the generated attribute and add an event handler, creating stored cross-site scripting that executes for visitors or administrators who view the page. This issue is fixed in version 6.2.2.
Title Grav Shortcode Core Plugin: Stored XSS in shortcode-core attribute handlers
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 8.5, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Getgrav Grav-plugin-shortcode-core
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-19T16:33:32.946Z

Reserved: 2026-07-20T18:31:39.290Z

Link: CVE-2026-64851

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-19T16:18:39.897

Modified: 2026-08-19T17:20:18.890

Link: CVE-2026-64851

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-20T15:15:03Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')