Description
md-editor-v3 is a Markdown editor for Vue 3 developed in JSX and TypeScript. Prior to 6.5.4, MdPreview's useMarkdownIt() highlight callback in packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts inserts a fenced-code language value into class and language HTML attributes without escaping or consistently quoting it. Both highlighted and non-highlighted rendering paths reach this return value, while XSSPlugin filters only existing html_block and html_inline tokens before rendering and therefore cannot inspect the renderer-generated HTML. An attacker who can supply Markdown can use crafted fenced-code metadata to execute JavaScript in the application origin when a victim renders it, including as stored cross-site scripting when the host persists the Markdown. This issue is fixed in version 6.5.4
Published: 2026-09-18
Score: 6.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting via Markdown rendering
Action: Apply Patch
AI Analysis

Impact

The vulnerability occurs because md‑editor‑v3 does not escape or quote fenced‑code language values that are inserted into the class and language attributes of rendered HTML. Both highlighted and non‑highlighted rendering paths produce this unsanitized attribute content. XSSPlugin only filters existing html_block and html_inline tokens and cannot inspect the renderer‑generated HTML, so the attack vector is not mitigated by that plugin. An attacker who can supply Markdown is able to embed crafted fenced‑code syntax that results in JavaScript execution when the content is rendered, providing a stored cross‑site scripting (XSS) vector for the application origin.

Affected Systems

The affected product is imzbf md‑editor‑v3. All releases prior to version 6.5.4 are susceptible; the fix was introduced in v6.5.4 and later. Any deployment that renders user‑supplied Markdown is potentially impacted.

Risk and Exploitability

The CVSS score of 6.1 indicates a moderate severity. The EPSS score is not available, and the vulnerability is not listed in KEV, so the exact exploitation probability is uncertain. The likely attack vector is any application allowing users to create or store Markdown content, such as a CMS, forum, or note‑taking application, where the forged fenced‑code block can be persisted and later rendered. Because the flaw allows code execution within the page context, an attacker can hijack the victim’s session, steal credentials, deface content, or perform other malicious actions. Mitigation depends on applying the vendor‑supplied fix; other defensive measures provide incomplete coverage for this specific injection point.

Generated by OpenCVE AI on September 19, 2026 at 13:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to md‑editor‑v3 version 6.5.4 or later, which properly escapes fenced‑code language attributes.
  • If an immediate upgrade is not possible, modify the Markdown rendering pipeline to escape or quote attributes derived from user input or disable the fenced‑code language feature so that malicious metadata cannot be processed.
  • Apply an additional XSS protection layer to all user‑supplied Markdown, ensuring that any attribute values are sanitized before rendering.

Generated by OpenCVE AI on September 19, 2026 at 13:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-3rm2-h79c-8qw6 md-editor-v3: XSS via fenced-code language rendering bypass
History

Fri, 18 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Description md-editor-v3 is a Markdown editor for Vue 3 developed in JSX and TypeScript. Prior to 6.5.4, MdPreview's useMarkdownIt() highlight callback in packages/MdEditor/layouts/Content/composition/useMarkdownIt.ts inserts a fenced-code language value into class and language HTML attributes without escaping or consistently quoting it. Both highlighted and non-highlighted rendering paths reach this return value, while XSSPlugin filters only existing html_block and html_inline tokens before rendering and therefore cannot inspect the renderer-generated HTML. An attacker who can supply Markdown can use crafted fenced-code metadata to execute JavaScript in the application origin when a victim renders it, including as stored cross-site scripting when the host persists the Markdown. This issue is fixed in version 6.5.4
Title md-editor-v3: XSS via fenced-code language rendering bypass
Weaknesses CWE-79
References
Metrics cvssV3_1

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

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-18T18:06:19.593Z

Reserved: 2026-09-02T18:12:13.534Z

Link: CVE-2026-84992

cve-icon Vulnrichment

Updated: 2026-09-18T18:06:12.982Z

cve-icon NVD

Status : Received

Published: 2026-09-18T18:17:17.277

Modified: 2026-09-18T18:17:17.277

Link: CVE-2026-84992

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-19T14:00:15Z

Weaknesses
  • CWE-79

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