What’s Vulnerable › Vulnerabilities
CVE-2026-57531: Milkdown < 7.21.3 DOM XSS via innerHTML Assignment
- Severity: medium (CVSS 5.4 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-24 · updated 2026-07-27
- Weakness: CWE-79
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.
Affected products
- milkdown: before 7.21.3 — fixed in 7.21.3
How to fix
Upgrade to a fixed version: milkdown 7.21.3. Check the vendor advisory for mitigations.
References
- https://github.com/Milkdown/milkdown/commit/db1ae721854a0ab2f188b83cf8695702966640f1
- https://github.com/Milkdown/milkdown/pull/2410
- https://github.com/Milkdown/milkdown/releases/tag/v7.21.3
- https://www.npmjs.com/package/@milkdown/plugin-emoji
- https://www.vulncheck.com/advisories/milkdown-dom-xss-via-innerhtml-assignment
Get alerted when CVE-2026-57531 or the next vulnerability affects your stack