Skip to content
OpenAdvisories
Low · 2.3 CVE-2026-92106 EEF-CVE-2026-92106EUVD-2026-86828GHSA-8rqp-v692-v82q

lazy_html serializes SVG and MathML style and script text unescaped, allowing mutation XSS

Published Sep 25, 2026 · Updated Sep 25, 2026 · Assigned by EEF

Description

Improper 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.

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.

This issue affects lazy_html: from 0.1.0 before 0.1.13.

Affected products

VendorProductAffectedFixed
dashbitco lazy_html 0.1.0 – < 0.1.13 0.1.13

Affected packages

EcosystemPackageAffectedFixedRecord
Hex lazy_html >= 0.1.0, < 0.1.13 0.1.13 EEF-CVE-2026-92106

References