vscode-markdown-preview-enhanced: Markdown Preview Enhanced: Blind Command Dispatch via Unvalidated Webview Message Handler
What fixes it
No source in this snapshot names a fixed version. The vendor advisories under References are the place to check.
Description
Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.30, the webview message handler in src/preview-provider.ts accepts an attacker-controlled command value and attacker-controlled args, constructs a command in the _crossnote namespace, and invokes vscode.commands.executeCommand without an allowlist or type validation. JavaScript already executing in the preview webview can use this bridge to invoke privileged extension commands, including file modification, code-chunk execution, export-tool execution, and arbitrary URL opening, with attacker-selected arguments. Exploitation requires a separate webview JavaScript execution path, such as the independently tracked .crossnote/head.html injection, but no further authorization check protects the extension-host command boundary. This issue is fixed in version 0.8.30.
Text from CVE List
Affected versions 1
- vscode-markdown-preview-enhancedaffected: < 0.8.30CVE List
References 4
- github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/8bc848b6cbb42b9f35a0f95f7c3bf29b8302970eFixvia CVE List
- github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.30Fixvia CVE List
- github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-83c6-hcjv-pvmgExploitvia CVE List
- github.com/shd101wyy/vscode-markdown-preview-enhanced/pull/2323Referencevia CVE List