{"id":"CVE-2026-41238","revision":"3b3a99ee7b3f4118a26c519251fa9ef8","records":[{"revision":"3b3a99ee7b3f4118a26c519251fa9ef8","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-41238","aliases":[],"title":"DOMPurify: Prototype Pollution to XSS Bypass via CUSTOM_ELEMENT_HANDLING Fallback","description":"DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. Versions 3.0.1 through 3.3.3 are vulnerable to a prototype pollution-based XSS bypass. When an application uses `DOMPurify.sanitize()` with the default configuration (no `CUSTOM_ELEMENT_HANDLING` option), a prior prototype pollution gadget can inject permissive `tagNameCheck` and `attributeNameCheck` regex values into `Object.prototype`, causing DOMPurify to allow arbitrary custom elements with arbitrary attributes — including event handlers — through sanitization. Version 3.4.0 fixes the issue.","state":0,"publishedAt":"2026-04-23T14:43:17.73+00:00","modifiedAt":"2026-04-23T16:22:34.174+00:00","affected":[{"ecosystem":"Vendor product","name":"DOMPurify","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"cure53\",\n                    \"product\": \"DOMPurify\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 3.0.1, < 3.4.0\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:N","score":6.9,"severity":"MEDIUM"}],"references":["https://github.com/cure53/DOMPurify/security/advisories/GHSA-v9jr-rg53-9pgp","https://github.com/cure53/DOMPurify/releases/tag/3.4.0"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-41238","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-41238","identifiers":["CVE-2026-41238"]},"retained":false,"historicalAffected":[]}],"coverage":[]}