CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-65914

mediumCVSS 6.1covered by 2 sourcesfirst seen 2026-03-27
Description A mutation-XSS (mXSS) condition was confirmed when sanitized HTML is reinserted into a new parsing context using innerHTML and special wrappers. The vulnerable wrappers confirmed in browser behavior are script, xmp, iframe, noembed, noframes, and noscript. The payload remains seemingly benign after DOMPurify.sanitize(), but mutates during the second parse into executable markup with an event handler, enabling JavaScript execution in the client (alert(1) in the PoC). Vulnerability The root cause is context switching after sanitization: sanitized output is treated as trusted and concatenated into a wrapper string (for example, <xmp> ... </xmp> or other special wrappers) before being reparsed by the browser. In this flow, attacker-controlled text inside an attribute (for example </xmp> or equivalent closing sequences for each wrapper) closes the special parsing context early and reintroduces attacker markup (<img ... onerror=...>) outside the original attribute context. DOMPurify sanitizes the original parse tree, but the application performs a second parse in a different context, reactivating dangerous tokens (classic mXSS pattern). PoC 1. Start the PoC app: npm install npm start 2. Open http://localhost:3001. 3. Set Wrapper en sink to xmp. 4. Use payload: <img src=x alt="</xmp><img src=x onerror=alert('expoc')>"> 5. Click Sanitize + Render. 6. Observe: - Sanitized response still contains the </xmp> sequence inside alt. - The sink reparses to include <img src="x" onerror="alert('expoc')">. - alert('expoc') is triggered. 7. Files: - index.html <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>expoc - DOMPurify SSR PoC</title> <style> :root { --bg: #f7f8fb; --panel: #ffffff; --line: #d8dce6; --text: #0f172a; --muted: #475569; --accent: #0ea5e9; } - { box-sizing: border-box; } body { margin: 0; font-family: "SF Mono", Menlo, Consolas, monospace; color: var(--t

⚡ Watch CVE-2026-65914

Get an email if CVE-2026-65914 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Exploitation outlook

Advisory coverage (2)

External references

NVD record for CVE-2026-65914

CVE.org record

Embed the live status

CVE-2026-65914 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-65914 status](https://www.csirts.com/badge/CVE-2026-65914)](https://www.csirts.com/cve/CVE-2026-65914)