CVE-2026-54703 Markdown Preview Enhanced: Arbitrary File Write via updateMarkdown Command Without Path Validation
An attacker with webview script execution can write arbitrary files via the updateMarkdown command, potentially leading to code execution or privilege escalation.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-54703?
CVE-2026-54703 is a medium-severity path traversal vulnerability in shd101wyy vscode-markdown-preview-enhanced, published on 14 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
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.
Weakness: CWE-73
Which versions are affected by CVE-2026-54703?
How do I fix CVE-2026-54703?
No fix has been published for CVE-2026-54703 yet. Limit exposure of the affected software until one is available.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-54703 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54703 exists.
Sources
Also known as GHSA-82rc-7g3m-2c42.