CVE-2026-50733
8.8 HIGHMarkdown Preview Enhanced before 0.8.28 parses WaveDrom diagrams by evaluating untrusted markdown content with eval(), allowing arbitrary...
Published: 2026-06-05 · Last updated: 2026-06-05
Severity and scoring
- CVSS
- 8.8 HIGH
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- CWE
- CWE-95
Description
Markdown Preview Enhanced before 0.8.28 parses WaveDrom diagrams by evaluating untrusted markdown content with eval(), allowing arbitrary JavaScript execution. The flaw affects every render path - the live preview (window.eval) and presentation mode plus HTML export (the bundled WaveDrom.ProcessAll()/eva() helpers) - and can also be triggered through a <script type="WaveDrom"> element injected via raw HTML in markdown. When a victim previews or exports a crafted markdown document, an attacker can execute arbitrary code, leading to arbitrary file write. Fixed in 0.8.28 by parsing with JSON5.parse() and sanitizing WaveDrom data scripts to inert strict JSON.
Source: NVD
References
- [NVD]https://nvd.nist.gov/vuln/detail/CVE-2026-50733
- [Other]https://github.com/shd101wyy/vscode-markdown-preview-enhanced/issues/2315
- [Other]https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.28
- [Other]https://www.vulncheck.com/advisories/markdown-preview-enhanced-arbitrary-code-execution-via-wavedrom-eval
- [Other]https://github.com/shd101wyy/vscode-markdown-preview-enhanced/issues/2315
Related CVEs
Same CWE
- CVE-2026-52858 — Vim is an open source, command line text editor
- CVE-2026-47167 — Vim is an open source, command line text editor
- CVE-2026-11422 — Markdown Preview Enhanced 0.8.x with crossnote engine 0.9.28 contains a code injection vulnerability in the WaveDrom rendering pipeline t... (7.1 HIGH)
- CVE-2026-8914 — In Teltonika Networks RUTOS devices, running versions 7.22 through 7.23.2 and TSWOS devices running versions 1.09 through 1.09.1, due to ...
- CVE-2026-48962 — IO::Compress versions before 2.220 for Perl can execute arbitrary code in File::GlobMapper via an attacker-controlled output glob (7.3 HIGH)