Description
Grav Admin before 2.0.20 fails to sanitize output from marked.parse() before injecting it into the DOM via Svelte's {@html} directive in MarkdownEditor and MarkdownModal components. Attackers can inject javascript: URI schemes in plugin or theme changelogs to execute arbitrary code in authenticated admin sessions without requiring site access.
Published: 2026-09-04
Score: 5.1 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in Grav Admin’s handling of Markdown content. When a plugin or theme changelog contains a javascript URI, the system fails to escape the output before rendering it with Svelte’s {@html} directive, allowing an attacker to inject and execute arbitrary scripts within the admin interface. This flaw, identified as CWE‑79, lets an authenticated admin run malicious code that could steal credentials or modify site data.

Affected Systems

Grav Admin installations of any version prior to 2.0.20 are affected. Administrators should verify the current version and apply any available updates to bring the system to 2.0.20 or later.

Risk and Exploitability

The CVSS score of 5.1 classifies the exploit as medium severity, the EPSS score is currently unavailable, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires an authenticated admin session and a malicious plugin or theme providing a changelog entry with a javascript: URI. Once injected, code runs in the context of the admin, enabling credential theft, privilege escalation, or full site compromise.

Generated by OpenCVE AI on September 4, 2026 at 12:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Grav Admin to version 2.0.20 or later.
  • Remove or disable any plugins or themes that expose changelog entries containing untrusted JavaScript URIs.
  • If immediate upgrade is not possible, restrict admin access to trusted users only and sanitize changelog content before rendering it with the Svelte {@html} directive.

Generated by OpenCVE AI on September 4, 2026 at 12:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 11:45:00 +0000

Type Values Removed Values Added
Description Grav Admin before 2.0.20 fails to sanitize output from marked.parse() before injecting it into the DOM via Svelte's {@html} directive in MarkdownEditor and MarkdownModal components. Attackers can inject javascript: URI schemes in plugin or theme changelogs to execute arbitrary code in authenticated admin sessions without requiring site access.
Title Grav Admin before 2.0.20 Cross-Site Scripting via marked.js
First Time appeared Getgrav
Getgrav grav
Weaknesses CWE-79
CPEs cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
Vendors & Products Getgrav
Getgrav grav
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-04T11:30:03.468Z

Reserved: 2026-09-04T11:00:28.731Z

Link: CVE-2026-85601

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T12:17:23.763

Modified: 2026-09-04T12:17:23.763

Link: CVE-2026-85601

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T12:30:17Z

Weaknesses
  • CWE-79

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