Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. ammonia
  4. ›
  5. CVE-2026-63430

CVE-2026-63430: ammonia: mXSS via MathML `annotation-xml` encoding strip

October 22, 2026

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:

  1. User writes code like <math><annotation-xml encoding="text/html"><gadget></annotation-xml></math>.
  2. Namespace filtering checks the DOM, and it passes. <gadget> is parsed as HTML.
  3. Attribute filter strips it down to <math><annotation-xml><gadget></annotation-xml></math>. Because the encoding attribute is gone, <gadget> is now parsed as MathML.
  4. The gadget is written in such a way that it exploits the parsing differences between HTML and MathML.

Additionally, the gadget can only be written using a tag that is parsed as raw text in HTML. These [elements] are:

  • title
  • textarea
  • xmp
  • iframe
  • noembed
  • noframes
  • plaintext
  • noscript
  • style
  • script

Applications that do not explicitly allow any of these tags should not be affected, since none are allowed by default.

References

  • github.com/advisories/GHSA-9jh8-v38h-cvhr
  • github.com/rust-ammonia/ammonia/commit/004bf2cee4288f74a6ee619d589e3e90c24c09ca
  • github.com/rust-ammonia/ammonia/commit/7ac3fd3145236f28857eeecbadb544c8659cba31
  • github.com/rust-ammonia/ammonia/commit/b51bf4f9749ed3cd518330105f20a2c39c9ee274
  • github.com/rust-ammonia/ammonia/pull/243
  • github.com/rust-ammonia/ammonia/pull/244
  • github.com/rust-ammonia/ammonia/pull/245
  • github.com/rust-ammonia/ammonia/releases/tag/v3.3.2
  • github.com/rust-ammonia/ammonia/releases/tag/v4.0.2
  • github.com/rust-ammonia/ammonia/releases/tag/v4.1.3
  • github.com/rust-ammonia/ammonia/security/advisories/GHSA-9jh8-v38h-cvhr
  • ivan09999.github.io/ammonia-mxss
  • nvd.nist.gov/vuln/detail/CVE-2026-63430
  • rustsec.org/advisories/RUSTSEC-2026-0193.html

Code Behaviors & Features

Detect and mitigate CVE-2026-63430 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 3.3.2, all versions starting from 4.0.0 before 4.0.2, all versions starting from 4.1.0 before 4.1.3

Fixed versions

  • 3.3.2
  • 4.0.2
  • 4.1.3

Solution

Upgrade to versions 3.3.2, 4.0.2, 4.1.3 or above.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Source file

cargo/ammonia/CVE-2026-63430.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:34 +0000.