Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| joshnuss | xml_builder | 0.0.6 – < 2.4.1 | 2.4.1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | xml_builder | >= 0.0.6, < 2.4.1 | 2.4.1 | EEF-CVE-2026-47079 |
References
- https://github.com/joshnuss/xml_builder/security/advisories/GHSA-5hjx-8g53-cmvm vendor-advisory related
- https://cna.erlef.org/cves/CVE-2026-47079.html related
- https://osv.dev/vulnerability/EEF-CVE-2026-47079 related
- https://github.com/joshnuss/xml_builder/commit/c3390e2046ec297b3bb8c30d5779cdfd6508c275 patch