Live › vulnerability › CVE-2026-63430
Go to dashboardammonia is a Rust HTML sanitizer, and this flaw lets crafted MathML markup slip past its filter when the math and annotation-xml tags are both allowed and the encoding attribute is not. A remote attacker who gets such input through the sanitizer can run arbitrary JavaScript in the victim's browser.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 19:11 UTC, 5h before NVD. All times on this page are UTC.
| Product | Ecosystem | Affected | Fixed in |
|---|---|---|---|
| ammonia | cargo | < 3.3.2 | 3.3.2 |
| ammonia | cargo | >= 4.0.0, < 4.0.2 | 4.0.2 |
| ammonia | cargo | >= 4.1.0, < 4.1.3 | 4.1.3 |
3.3.2, 4.0.2 (for 4.0.x), or 4.1.3 (for 4.1.x)3.3.2, 4.0.2, or 4.1.3 depending on your major lineEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
If a certain set of MathML tags are enabled, an attacker can inject arbitrary JavaScript code into the user's browser.
The annotation-xml tag has slightly different behavior than the other "integration point"
tags in MathML and SVG, but ammonia didn't handle it, so it didn't correctly
strip the namespace-incompatible tags.
This vulnerability only has an effect when the math and annotation-xml tags
are both enabled, but the encoding attribute is disabled, because it relies
on the following sequence of steps:
<math><annotation-xml encoding="text/html"><gadget></annotation-xml></math>.<gadget> is parsed as HTML.<math><annotation-xml><gadget></annotation-xml></math>. Because the encoding attribute is gone, <gadget> is now parsed as MathML.Additionally, the gadget can only be written using a tag that is parsed as raw text in HTML. These elements are:
Applications that do not explicitly allow any of these tags should not be affected, since none are allowed by default.
Low: Requires both MathML and at least one raw-text HTML tag to be enabled, and most websites don't enable either of those.
Call <code>builder.add_clean_content_tags("annotation-xml")</code> to remove the annotation-xml element and all of its children, including the XSS gadget.
This page as .md · .json · in your agent: get_signal("CVE-2026-63430")
GitHub Advisory Database, CC-BY 4.0 · NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.