CVE-2026-57531

medium

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

https://www.vulncheck.com/advisories/milkdown-dom-xss-via-innerhtml-assignment

https://www.npmjs.com/package/@milkdown/plugin-emoji

https://github.com/Milkdown/milkdown/releases/tag/v7.21.3

https://github.com/Milkdown/milkdown/pull/2410

https://github.com/Milkdown/milkdown/commit/db1ae721854a0ab2f188b83cf8695702966640f1

Details

Source: Mitre, NVD

Published: 2026-07-24

Updated: 2026-07-25

Risk Information

CVSS v2

Base Score: 5.5

Vector: CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:N

Severity: Medium

CVSS v3

Base Score: 5.4

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

Severity: Medium

CVSS v4

Base Score: 5.1

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Severity: Medium