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: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
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

Thu, 10 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


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-10T15:09:23.934Z

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

Link: CVE-2026-85601

cve-icon Vulnrichment

Updated: 2026-09-10T14:23:06.758Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-09-10T16:17:59.650

Link: CVE-2026-85601

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T13:15:06Z

Weaknesses
  • CWE-79

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