Skip to main content

Markdown Preview Enhanced CVE-2026-54525

| EUVDEUVD-2026-101581 HIGH
OS Command Injection (CWE-78)
2026-10-14 security-advisories@github.com
8.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted untrusted Markdown file to victim
  2. Delivery
    Victim opens file in VS Code preview
  3. Exploit
    Victim clicks crafted external-scheme link
  4. Execution
    start command passes decoded target to cmd.exe
  5. Impact
    Shell metacharacters execute attacker command as user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation is limited to Windows hosts running Markdown Preview Enhanced (crossnote) prior to 0.8.28 (crossnote 0.9.29), because the flaw depends on the Windows file-opening helper invoking child_process.exec with the start command through cmd.exe. The required trigger is concrete: the victim must open an attacker-controlled untrusted Markdown file in the preview and then click a crafted external or unsupported-scheme link whose decoded target contains shell metacharacters (e.g., command separators). Notably, the description explicitly states the attack does NOT require malicious workspace configuration/trust, does NOT require script execution to be enabled, and does NOT require any additional files - a single normal preview-link click suffices. The practical limiting factors defenders can rely on are the Windows-only platform dependency, the requirement for user interaction (opening the file and clicking the link), and the need for the user to be handling untrusted Markdown content.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, base 8.8) rates this high, driven by full confidentiality/integrity/availability impact from arbitrary command execution. However, the signals are mixed when assessed against real-world risk. The vector lists AV:N and PR:N (no authentication), but UI:R is the dominant limiter: exploitation requires a victim to open an attacker-supplied untrusted Markdown file AND click a crafted preview link - this is user-driven, social-engineering-dependent exploitation rather than remote drive-by. The flaw is also Windows-only (it depends on the Windows start-command helper invoking cmd.exe), which materially narrows the exposed population. No EPSS score, CISA KEV listing, or public POC was provided in the input, so exploitation status is 'no public exploit identified at time of analysis'; no SSVC decision data was supplied either. Net: this is a legitimately serious code-execution bug worth prompt patching for Windows developers who handle untrusted Markdown, but it is not wormable or mass-exploitable internet-facing. Note the tension to verify: CVSS encodes AV:N yet the description implies attacker content must be locally opened and a link clicked, so the effective attack surface is closer to a document-based/local-interaction vector than true network exploitation.

Exploit ScenarioDerived

An attacker distributes a seemingly benign Markdown file (for example a README in a shared repo or an emailed document) containing a link whose decoded target embeds Windows shell metacharacters. A Windows developer opens the file in Markdown Preview Enhanced's preview and clicks the crafted external/unsupported-scheme link, causing the start command to pass the target through cmd.exe and run the attacker's command with the user's privileges. No public exploit code was identified at the time of analysis, and no workspace trust, enabled scripts, or additional files are required.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

Command injection in the Markdown Preview Enhanced VS Code extension (which bundles the crossnote library) on Windows allows an attacker-controlled Markdown link to execute arbitrary commands with the privileges of the VS Code user. When a victim opens an untrusted Markdown file, previews it, and clicks a crafted external or unsupported-scheme link, the decoded link target is passed to a Windows file-opening helper that invokes child_process.exec with the start command, so embedded cmd.exe metacharacters are interpreted as command separators. The flaw affects versions prior to 0.8.28 (crossnote prior to 0.9.29), requires user interaction (opening the file and one link click), needs no workspace trust, no script execution, and no additional files, and earns a CVSS 3.1 base score of 8.8; no public exploit code was identified at time of analysis and the issue is not in CISA KEV.

RemediationAI

Vendor-released patch: upgrade Markdown Preview Enhanced to 0.8.28 or later, which also pulls in the fixed crossnote 0.9.29, via the VS Code Marketplace or the release page at https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.28; the fix removes the shell from preview link/file opening and passes untrusted values as literal arguments or validates them before use. If immediate upgrade is not possible, the practical compensating control is behavioral and platform-scoped: do not open or preview untrusted Markdown files on Windows installations of the extension, and do not click external or unsupported-scheme links rendered in the preview of such files, since a single ordinary link click is sufficient to trigger execution. A secondary option is to run the extension only in VS Code's web/browser environment or on a non-Windows host where the vulnerable Windows helper path is not reached; the trade-off is loss of native file-opening and desktop integration features. Enforcing workspace trust does not help here, because the advisory confirms the attack does not require malicious workspace configuration, script execution, or additional files. Confirm remediation by verifying the installed extension version reports 0.8.28 or higher, and cross-reference the vendor advisory at https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-7v6f-3vq6-r373 and the hardening commits https://github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/dcd80281c986293b93d9f1af34ced64dcb230c77 and https://github.com/shd101wyy/crossnote/commit/5588ca2121c3da43fe331575dc5cf4ef347b91ee.

Affected VersionsENISA

vscode-markdown-preview-enhanced < 0.8.28

Affected Packages

euvd vscode_markdown_preview_enhanced fix: 0.8.28

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-78 (OS Command Injection): a Markdown-controlled, URL-decoded link target is forwarded to a Windows file-opening helper that shells out via child_process.exec invoking the cmd.exe 'start' command. Because the target string is concatenated into a shell command line rather than passed as a literal argument, shell metacharacters in the decoded value (e.g., command separators) are interpreted by cmd.exe, letting the attacker append an arbitrary command that runs in the context of the current VS Code user. The technology stack is the VS Code extension host (Node.js child_process) on Windows plus the extension's preview-link handling code in the crossnote package, which Markdown Preview Enhanced consumes as a library. Exploitation is platform-bound: the vulnerable path depends on the Windows file-opening helper and cmd.exe, so Linux and macOS hosts are not exposed via this specific route. The 0.8.28/0.9.29 release hardens this by removing the shell from external file/link opening and passing untrusted inputs (diagram 'filename' attribute, imported file paths, and the 'latex_engine' code-chunk attribute) as literal arguments or validating them before use. The same release also closed separate eval-based code execution paths in the WaveDrom renderer and the Bitfield renderer's interpretJS/vm.runInNewContext usage, but those are distinct weaknesses from this command-injection CVE.

Know when Windows gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Attacker content is delivered as a document (AV:N) with no auth (PR:N) but needs the victim to open it and click a link (UI:R); shell injection yields full code execution as the user, so C/I/A:H and S:U.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 14, 2026 - 20:34 EUVD
CVE Published
Oct 14, 2026 - 19:17 cve.org
HIGH 8.8

DescriptionCVE.org

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.

Technical POC Analysis

CWE-78 (OS Command Injection).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity command injection flaw in the Markdown Preview Enhanced extension for Visual Studio Code on Windows can let an attacker-controlled Markdown link execute arbitrary commands with the developer's privileges. No public exploit identified at time of analysis, but the attack requires only opening an untrusted Markdown file and clicking a crafted link, so affected Windows developer workstations are at risk of credential theft, unauthorized access, or malware execution. Leadership should prioritize mitigation because the extension is widely used in developer workflows and no vendor-released patch identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include disabling or uninstalling Markdown Preview Enhanced on Windows developer endpoints, blocking the extension through VS Code extension management policy, preventing users from opening untrusted Markdown files in VS Code preview, restricting or monitoring cmd.exe and start child-process execution, and providing user awareness guidance not to click links in untrusted Markdown previews.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
popular VS Code extension but developer-only and Windows-only impact
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2025-52691 CRITICAL POC
10.0 Dec 29

Unauthenticated remote code execution in SmarterTools SmarterMail lets an attacker upload arbitrary files to any locatio

CVE-2019-0803 HIGH POC
7.8 Apr 09

Windows Win32k fails to properly handle objects in memory, allowing local privilege escalation exploited in the wild in

CVE-2020-1472 MEDIUM POC
5.5 Aug 17

A privilege escalation vulnerability (CVSS 5.5). Risk factors: actively exploited (KEV-listed), EPSS 94% exploitation pr

CVE-2025-33053 HIGH POC
8.8 Jun 10

Windows Internet Shortcut Files (.url) contain an external control vulnerability (CVE-2025-33053, CVSS 8.8) that enables

CVE-2025-33073 HIGH POC
8.8 Jun 10

Windows SMB contains an improper access control vulnerability (CVE-2025-33073, CVSS 8.8) enabling authenticated attacker

CVE-2025-13315 CRITICAL POC
9.3 Nov 19

Twonky Server 8.5.2 on Linux and Windows allows unauthenticated access to the admin log file through a web service API b

CVE-2013-10047 CRITICAL POC
9.3 Aug 01

An unrestricted file upload vulnerability exists in MiniWeb HTTP Server <= Build 300 that allows unauthenticated remote

CVE-2012-10030 CRITICAL POC
9.3 Aug 05

FreeFloat FTP Server contains multiple critical design flaws that allow unauthenticated remote attackers to upload arbit

CVE-2025-34101 CRITICAL POC
9.3 Jul 10

Serviio Media Server versions 1.4 through 1.8 on Windows contain an unauthenticated command injection in the /rest/actio

CVE-2025-13316 HIGH POC
8.2 Nov 19

Twonky Server 8.5.2 uses hard-coded cryptographic keys for encrypting the administrator password. Combined with the cred

CVE-2025-34095 CRITICAL POC
9.3 Jul 10

Mako Server versions 2.5 and 2.6 contain an unauthenticated OS command injection via the tutorial interface at examples/

CVE-2025-11953 CRITICAL POC
9.8 Nov 03

React Native Metro Development Server binds to external interfaces by default and contains an OS command injection endpo

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy