Home

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.

PUBLISHED Reserved 2026-06-05 | Published 2026-06-05 | Updated 2026-06-05 | Assigner VulnCheck




HIGH: 8.6CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
HIGH: 8.8CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Problem types

Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')

Product status

Any version before 0.8.28
affected

Credits

Neo by ProjectDiscovery finder

References

github.com/...y/vscode-markdown-preview-enhanced/issues/2315 exploit

github.com/...-markdown-preview-enhanced/releases/tag/0.8.28 (Release 0.8.28) release-notes

github.com/...y/vscode-markdown-preview-enhanced/issues/2315 (Issue #2315) issue-tracking

www.vulncheck.com/...itrary-code-execution-via-wavedrom-eval (VulnCheck Advisory: Markdown Preview Enhanced Arbitrary Code Execution via WaveDrom eval()) third-party-advisory

cve.org (CVE-2026-50733)

nvd.nist.gov (CVE-2026-50733)

Download JSON