Read the docs
TI-2026-74456 Aliases CVE-2026-54703

Arbitrary file write in Markdown Preview Enhanced for VS Code

Priority MEDIUM 59CWE-73Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
None · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

Markdown Preview Enhanced, a Markdown preview extension for Visual Studio Code, before 0.8.30 writes arbitrary files. The _crossnote.updateMarkdown command accepts an arbitrary URI and content and writes them without checking that the target is the Markdown file of the current preview (CWE-73). JavaScript already running in the preview webview can call this command through the extension message bridge and write any file the VS Code user can write, such as user configuration, startup, source or build files. An attacker needs a separate way to run JavaScript in the preview webview.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.30, the _crossnote.updateMarkdown command in Markdown Preview Enhanced accepts an arbitrary URI and attacker-controlled content, then passes them to vscode.workspace.fs.writeFile without validating that the target is the Markdown file represented by the current preview. JavaScript already executing in the preview webview can invoke this command through the extension message bridge and write any file permitted by the VS Code user's operating-system privileges, including user configuration, startup, source, and build files. This file-write vulnerability requires a separate webview JavaScript execution path, such as the independently tracked head.html injection and blind command-dispatch weaknesses. This issue is fixed in version 0.8.30.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00304 23rd percentileScored 2026-11-07
Fix Fixed vscode-markdown-preview-enhanced (shd101wyy): 0.8.30

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
shd101wyyvscode-markdown-preview-enhancedbefore 0.8.300.8.30Patch availableCNA
  • vscode-markdown-preview-enhanced Vendorshd101wyy Affected before 0.8.30 Fixed in 0.8.30 Patch available CNA

Remediation

Update Markdown Preview Enhanced to version 0.8.30, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

  • Fix · CNA vscode-markdown-preview-enhanced (shd101wyy) Fixed in 0.8.30

Timeline

  1. 2026-10-15 Threatist record created from CVE-2026-54703
  2. 2026-10-16 CISA SSVC decision points changed

References

  • TI-2025-40425 An issue in Visual Studio Code Extensions Markdown Preview Enhanced v0.8.18 allows… CVSS 3.1HIGH 8.8
  • TI-2026-74453 Sandbox escape in Markdown Preview Enhanced allows code execution CVSS 4.0HIGH 8.5
  • TI-2026-37396 Markdown Preview Enhanced Arbitrary Code Execution via WaveDrom eval() CVSS 4.0HIGH 8.6
  • TI-2026-09857 Markdown Preview Enhanced 0.8.x Code Injection via WaveDrom Rendering CVSS 4.0HIGH 8.4
  • TI-2026-74455 Unvalidated command dispatch in Markdown Preview Enhanced extension CVSS 4.0HIGH 7.3
  • TI-2026-74454 Cross-site scripting in Markdown Preview Enhanced VS Code extension CVSS 4.0MEDIUM 6.9
See all 9 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences