{"id":"CVE-2026-0540","details":"DOMPurify 3.1.3 through 3.3.1 and 2.5.3 through 2.5.8, fixed in commit 729097f, contain a cross-site scripting vulnerability that allows attackers to bypass attribute sanitization by exploiting five missing rawtext elements (noscript, xmp, noembed, noframes, iframe) in the SAFE_FOR_XML regex. Attackers can include payloads like \u003c/noscript\u003e\u003cimg src=x onerror=alert(1)\u003e in attribute values to execute JavaScript when sanitized output is placed inside these unprotected rawtext contexts.","aliases":["GHSA-v2wj-7wpq-c8vv"],"modified":"2026-04-23T08:59:18.680648419Z","published":"2026-03-03T18:16:24.457Z","related":["CGA-wcqm-jq92-cx5v","openSUSE-SU-2026:10599-1"],"references":[{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/dompurify-xss-via-missing-rawtext-elements-in-safe-for-xml"},{"type":"FIX","url":"https://github.com/cure53/DOMPurify/commit/fca0a938b4261ddc9c0293a289935a9029c049f5"},{"type":"PACKAGE","url":"https://github.com/cure53/DOMPurify"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/cure53/dompurify","events":[{"introduced":"e1ddfc7b5e6d6599c369f826699b0204e2c691b9"},{"last_affected":"ee992fc4880215757c9c09e9638bb95e1dc24533"},{"introduced":"3fe78d7501103832166613bb1452985dd4674008"},{"last_affected":"6fc446a589ab3d1d72ae2a5b71167ba38dbd3096"},{"fixed":"fca0a938b4261ddc9c0293a289935a9029c049f5"}],"database_specific":{"versions":[{"introduced":"2.5.3"},{"last_affected":"2.5.8"},{"introduced":"3.1.3"},{"last_affected":"3.3.1"}]}}],"versions":["2.5.3","2.5.4","2.5.5","2.5.6","2.5.7","2.5.8","3.1.3","3.2.3"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-0540.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"}]}