Impact
Markdown Preview Enhanced, a Visual Studio Code extension, contains a flaw in preview-link processing that allows an attacker to craft a Markdown link containing shell metacharacters. When a Windows user opens an untrusted Markdown file and clicks the link, the extension passes the decoded target to a Windows helper that calls child_process.exec with the start command. The shell sees the metacharacters as command separators, enabling arbitrary command execution with the privileges of the VS Code user. This weakness is a classic command injection (CWE‑78) and can lead to full code execution on the victim machine.
Affected Systems
The vulnerability affects all installations of the Markdown Preview Enhanced extension for Visual Studio Code running any version earlier than 0.8.28. This includes the extension hosted under the shd101wyy GitHub organization, commonly referenced by its package name "vscode‑markdown‑preview‑enhanced" and its older npm-equivalent name "crossnote". Users who have not upgraded past the 0.8.28 release are susceptible whenever they view Markdown content that is not trusted.
Risk and Exploitability
The CVSS score of 8.8 indicates a high‑severity local exploitation scenario. Although the EPSS score is not available, the lack of listed exploitation exposure in the KEV catalog suggests no known public exploits yet, yet the vulnerability remains actionable. The attack does not require administrative privileges, additional files, or configuration changes; it merely needs a normal user to click a crafted link inside the preview pane. Once exploited, any command can be run with the current user's rights, making it a significant risk in shared or untrusted work environments.
OpenCVE Enrichment