Description
Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.30, the webview message handler in src/preview-provider.ts accepts an attacker-controlled command value and attacker-controlled args, constructs a command in the _crossnote namespace, and invokes vscode.commands.executeCommand without an allowlist or type validation. JavaScript already executing in the preview webview can use this bridge to invoke privileged extension commands, including file modification, code-chunk execution, export-tool execution, and arbitrary URL opening, with attacker-selected arguments. Exploitation requires a separate webview JavaScript execution path, such as the independently tracked .crossnote/head.html injection, but no further authorization check protects the extension-host command boundary. This issue is fixed in version 0.8.30.
Published: 2026-10-14
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized Extension Command Execution
Action: Patch Extension
AI Analysis

Impact

Markdown Preview Enhanced is a Visual Studio Code extension that offers Markdown preview functionality. Prior to version 0.8.30 its webview message handler accepts command and args values supplied by JavaScript running inside the preview webview. The handler constructs a command in the _crossnote namespace and calls vscode.commands.executeCommand without an allowlist or type validation. Because the handler trusts the JavaScript context, an attacker who can inject code into or run arbitrary JavaScript in the preview can invoke privileged extension commands such as file modification, code execution, export-tool use, or arbitrary URL opening using attacker‑provided arguments. This can lead to data loss, execution of unintended code, or unwanted network activity.

Affected Systems

All installations of the Markdown Preview Enhanced extension for Visual Studio Code with a version earlier than 0.8.30 are vulnerable. The affected vendor is shd101wyy and the product is the vscode‑markdown‑preview‑enhanced extension. Users who have installed versions 0.8.29 or earlier are at risk.

Risk and Exploitability

The CVSS score of 7.3 indicates a high severity threat. While an EPSS score is not available, the vulnerability is not listed in CISA KEV, suggesting no publicly reported exploitation at this time. However, exploitation requires that an attacker already controls the preview webview JavaScript execution vector, such as through the .crossnote/head.html injection vulnerability. Once that vector is established, there is no additional authorization barrier to invoke privileged extension commands, enabling potential data compromise or code execution on the host system.

Generated by OpenCVE AI on October 15, 2026 at 13:30 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the Markdown Preview Enhanced extension to version 0.8.30 or later, which removes the unvalidated command dispatch.
  • If the extension cannot be updated immediately, temporarily disable or remove the extension from Visual Studio Code until a patch is available.
  • Limit the execution of untrusted Markdown files or disable the preview feature when opening files from external or unverified sources.

Generated by OpenCVE AI on October 15, 2026 at 13:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 15 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 14 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Description Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.30, the webview message handler in src/preview-provider.ts accepts an attacker-controlled command value and attacker-controlled args, constructs a command in the _crossnote namespace, and invokes vscode.commands.executeCommand without an allowlist or type validation. JavaScript already executing in the preview webview can use this bridge to invoke privileged extension commands, including file modification, code-chunk execution, export-tool execution, and arbitrary URL opening, with attacker-selected arguments. Exploitation requires a separate webview JavaScript execution path, such as the independently tracked .crossnote/head.html injection, but no further authorization check protects the extension-host command boundary. This issue is fixed in version 0.8.30.
Title Markdown Preview Enhanced: Blind Command Dispatch via Unvalidated Webview Message Handler
Weaknesses CWE-749
References
Metrics cvssV4_0

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-15T16:24:10.781Z

Reserved: 2026-06-15T22:58:06.563Z

Link: CVE-2026-54702

cve-icon Vulnrichment

Updated: 2026-10-15T16:23:49.100Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-14T20:17:47.737

Modified: 2026-10-16T16:00:33.533

Link: CVE-2026-54702

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-15T13:45:19Z

Weaknesses
  • CWE-749

    Exposed Dangerous Method or Function