CVE-2026-47079 PUBLISHED

Round-trip Corruption via Improper Entity Escaping in xml_builder

Assigner: EEF
Reserved: 18.05.2026 Published: 21.08.2026 Updated: 21.08.2026

Inappropriate Encoding for Output Context vulnerability in joshnuss xml_builder (XmlBuilder module) allows Content Spoofing, Cross-site Scripting.

This vulnerability is associated with program files lib/xml_builder.ex and program routines XmlBuilder.generate/1, XmlBuilder.generate/2, XmlBuilder.escape_string/1, XmlBuilder.escape_entity/1.

XmlBuilder.generate/1 does not escape literal & characters in text or attribute values when they are followed by an entity-like token (lt;, gt;, amp;, quot;, apos;). As a result, attacker-supplied input such as <script> is emitted verbatim into the serialized XML rather than being escaped to &lt;script&gt;. When a downstream XML parser later reads the document, it decodes the entity sequences into the literal characters <script>, promoting inert-looking text into real markup. This allows an attacker to bypass upstream filters that block raw < and > characters, injecting markup into any downstream consumer that parses the produced XML and renders the text content in a markup-sensitive context (HTML, SVG, RSS/Atom feeds). Both element text and attribute values are affected.

This issue affects xml_builder: from 0.0.6 before 2.4.1.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
CVSS Score: 2.1

Product Status

Vendor joshnuss
Product xml_builder
Versions Default: unaffected
  • affected from 0.0.6 to 2.4.1 (excl.)
Vendor joshnuss
Product xml_builder
Versions Default: unaffected
  • affected from aae31e6e8ac837bcbb8afb816c0d14324b5cfe2b to c3390e2046ec297b3bb8c30d5779cdfd6508c275 (excl.)

Credits

  • Peter Ullrich finder
  • Joshua Nussbaum remediation developer
  • Jonatan Männchen / EEF coordinator

References

Problem Types

  • CWE-838 Inappropriate Encoding for Output Context CWE

Impacts

  • CAPEC-120 Double Encoding