Description
Milkdown before 7.21.3 contains a DOM cross-site scripting vulnerability in the @milkdown/plugin-emoji package that allows unauthenticated attackers to execute arbitrary JavaScript in the host application's origin by causing a victim to paste attacker-controlled content. The parseDOM.getAttrs handler stores raw innerHTML of pasted span elements with data-type="emoji" without sanitization, and the toMarkdown runner subsequently assigns this unsanitized value directly to a live DOM element's innerHTML, bypassing the DOMPurify sanitization used in the toDOM path, causing payload execution on every markdown serialization cycle.
References (5)
Core 5
Core References
Release Notes release-notes
patch
Release Notes
https://github.com/Milkdown/milkdown/releases/tag/v7.21.3
Patch patch
Patch Commit
https://github.com/Milkdown/milkdown/commit/db1ae721854a0ab2f188b83cf8695702966640f1
Third Party Advisory third-party-advisory
https://www.vulncheck.com/advisories/milkdown-dom-xss-via-innerhtml-assignment
Scores
CVSS v3
5.4
EPSS
0.0025
EPSS Percentile
16.4%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-79
Status
published
Products (1)
Milkdown/milkdown
< 7.21.3
Published
Jul 24, 2026
Tracked Since
Jul 25, 2026