CVE-2026-54525 json
Markdown Preview Enhanced: One Click RCE via Markdown Link Command Injection on Windows
published 2026-10-14 25 d ago modified 2026-10-16 23 d ago also EUVD-2026-101581
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- github.com/shd101wyy/crossnote@5588ca2 commit
- github.com/shd101wyy/vscode-markdown-preview-enhanced@dcd8028 commit
- github.com/shd101wyy/crossnote#442 pull request
- github.com/shd101wyy/vscode-markdown-preview-enhanced#2318 pull request
- github.com/shd101wyy/crossnote/releases/tag/0.9.29 release
- github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.… release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 24 d ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected products
- shd101wyy vscode-markdown-preview-enhanced
Classification
- Weakness
-
- CWE-78 Improper Neutralization of Special Elements used in an OS Command
References
- github.com /shd101wyy/crossnote/pull/442
- github.com /shd101wyy/vscode-markdown-preview-enhanced/pull/2318
- github.com /shd101wyy/crossnote/commit/5588ca2121c3da43fe331575dc5cf4ef347b91ee
- github.com /shd101wyy/vscode-markdown-preview-enhanced/commit/dcd80281c986293b93d9f1af34ced64dcb230c77
- github.com /shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-7v6f-3vq6-r373
- github.com /shd101wyy/crossnote/releases/tag/0.9.29
- github.com /shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.28
Sources
- CVE List CVE-2026-54525
- NVD CVE-2026-54525
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.