CVE-2026-54525
HighCVSS 8.8Summary
Markdown Preview Enhanced, a Markdown preview extension for Visual Studio Code, prior to 0.8.28 passes a decoded, Markdown-controlled link target to a Windows file-opening helper that invokes child_process.exec with the start command. When a Windows user opens an untrusted Markdown file and clicks a crafted link, shell metacharacters in the decoded target are interpreted by cmd.exe as command separators, allowing an attacker-selected command to run with the privileges of the current VS Code user.
Risk Assessment
An attacker can execute arbitrary commands on the victim's system with a single link click in the preview, leading to full compromise of the VS Code user account. The attack only requires opening an untrusted Markdown file and clicking a link, with no additional configuration or script execution enabled.
Recommendation
Update the Markdown Preview Enhanced extension to version 0.8.28 or later. Until patched, avoid opening untrusted Markdown files and clicking links within them.
Other vulnerabilities in Markdown Preview Enhanced
See all- CVE-2026-54702High
Markdown Preview Enhanced, a Markdown preview extension for Visual Studio Code, prior to 0.8.30 does not validate the command value or arguments sent from the webview. JavaScript running in the preview can invoke privileged extension commands, including file modification, code execution, export-tool execution, and arbitrary URL opening. Exploitation requires a separate webview JavaScript execution path, such as the .crossnote/head.html injection.
- CVE-2026-54566High
Markdown Preview Enhanced, a Markdown preview extension for Visual Studio Code, prior to 0.8.29 evaluates repository-controlled .crossnote/config.js and .crossnote/parser.js files with vm.runInNewContext, which does not provide a security boundary from the Node.js host realm. Opening a Markdown file in a malicious repository automatically loads these files, and prototype-chain traversal can reach the host Function constructor and process object, allowing OS command execution as the victim account without further interaction.
- CVE-2026-11422High
Markdown Preview Enhanced 0.8.x with crossnote engine 0.9.28 has a code injection vulnerability in the WaveDrom rendering pipeline. Attackers can embed malicious content in a wavedrom fenced code block, leading to arbitrary JavaScript execution in the VS Code webview context and arbitrary file writes on the local filesystem.
Original NVD description (English source)
Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.28, Markdown Preview Enhanced preview-link handling passes a decoded, Markdown-controlled link target to a Windows file-opening helper that invokes child_process.exec with the start command. When a Windows user opens an untrusted Markdown file and clicks a crafted external or unsupported-scheme link, shell metacharacters in the decoded target are interpreted by cmd.exe as command separators, allowing an attacker-selected command to run with the privileges of the current VS Code user. The attack requires one normal preview-link click but does not require malicious workspace configuration, script execution to be enabled, or additional files. This issue is fixed in version 0.8.28.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

