{"affected":[{"package":{"ecosystem":"Hex","name":"lazy_html","purl":"pkg:hex/lazy_html"},"ranges":[{"events":[{"introduced":"0.1.0"},{"fixed":"0.1.13"}],"type":"SEMVER"}],"versions":["0.1.0","0.1.1","0.1.2","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.1.10","0.1.11","0.1.12"]},{"ranges":[{"events":[{"introduced":"1dee15746c024916b3110af8b168c2f3b3065fbd"},{"fixed":"f32c7fd6223225b68bc8691c78b6d4a77972f1d5"}],"repo":"https://github.com/dashbitco/lazy_html","type":"GIT"}]}],"aliases":["GHSA-8rqp-v692-v82q","CVE-2026-92106"],"credits":[{"name":"Peter Ullrich","type":"REPORTER"},{"name":"Jonatan Kłosko","type":"REMEDIATION_DEVELOPER"},{"name":"Jonatan Männchen / EEF","type":"ANALYST"},{"name":"José Valim","type":"ANALYST"}],"database_specific":{"capec_ids":["CAPEC-63"],"cpe_ids":["cpe:2.3:a:dashbitco:lazy_html:*:*:*:*:*:*:*:*"],"cwe_ids":["CWE-79"]},"details":"## Summary\n\nImproper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in dashbitco lazy_html allows mutation XSS via a parse and serialize round-trip of attacker-supplied HTML.\n\n`LazyHTML.to_html/2` and `LazyHTML.Tree.to_html/2` decide whether to escape an element's text from its tag name alone. A `style` or `script` element inside SVG or MathML foreign content is parsed with character references decoded, but is serialized as an HTML raw-text element, so its text is emitted unescaped. Encoded markup such as `&lt;/style&gt;&lt;img src=x onerror=...&gt;` inside `<svg><style>` therefore closes the element on re-parse and becomes live markup. Applications that parse untrusted HTML with lazy_html, filter the document or tree, and serialize it for display are affected, since the payload is a plain text node that no element or attribute filter sees.\n\nThis issue affects lazy_html: from 0.1.0 before 0.1.13.\n\n## Impact\n\nAn attacker who can submit HTML to an application that sanitizes it with lazy_html can run script in the browsers of users who view the sanitized output.","id":"EEF-CVE-2026-92106","modified":"2026-09-25T09:33:13.357278Z","published":"2026-09-25T09:33:13.051Z","references":[{"type":"ADVISORY","url":"https://github.com/dashbitco/lazy_html/security/advisories/GHSA-8rqp-v692-v82q"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-92106.html"},{"type":"WEB","url":"https://github.com/dashbitco/lazy_html/commit/1dee15746c024916b3110af8b168c2f3b3065fbd"},{"type":"FIX","url":"https://github.com/dashbitco/lazy_html/commit/f32c7fd6223225b68bc8691c78b6d4a77972f1d5"},{"type":"PACKAGE","url":"https://hex.pm/packages/lazy_html"}],"related":[],"schema_version":"1.7.3","severity":[{"score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","type":"CVSS_V4"}],"summary":"lazy_html serializes SVG and MathML style and script text unescaped, allowing mutation XSS","upstream":[]}