Description
XML Injection vulnerability in joshnuss xml_builder (XmlBuilder module) allows Content Spoofing, XML Injection.

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

The escape/1 clause for {:cdata, data} in lib/xml_builder.ex concatenates data verbatim between the CDATA opener <![CDATA[ and closer ]]> without rewriting or splitting on the embedded ]]> sequence. Because CDATA sections have no internal escape mechanism, the only safe way to embed arbitrary bytes is to split on ]]> and emit adjacent CDATA sections. An attacker who can supply input containing ]]> closes the CDATA section early; any bytes that follow are parsed as ordinary XML markup by downstream consumers, allowing injection of arbitrary elements, text, or entity references into the output document.

This issue affects xml_builder: from 0.0.7 before 2.4.1.
Published: 2026-08-21
Score: 2.1 Low
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is caused by the XmlBuilder module’s escape/1 function, which concatenates arbitrary user‑supplied data between <![CDATA[ and ]]> without sanitising embedded CDATA close delimiters. If the input contains the sequence ]], the CDATA section is closed prematurely, and the following bytes are interpreted as normal XML by downstream consumers. This allows an attacker to inject arbitrary XML elements, text, or entity references into the document, potentially leading to content spoofing and the insertion of malicious XML constructs.

Affected Systems

The affected product is joshnuss xml_builder, versioning from 0.0.7 up to, but not including, 2.4.1. Any deployment using a version within this range is vulnerable.

Risk and Exploitability

The CVSS score of 2.1 classifies this issue as low severity. Exploitation requires the attacker to supply data that is processed by XmlBuilder.generate/1 or generate/2, which typically occurs in applications that serialise user input to XML. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is the application layer, where an attacker can inject a payload containing ]]> to break out of the CDATA section.

Generated by OpenCVE AI on August 21, 2026 at 11:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to xml_builder version 2.4.1 or later, where the escape/1 function has been corrected to split on ]]> and emit adjacent CDATA sections.
  • Apply the official patch found in commit bfb1ada071ccc1e384c30f782197ca5154106706, which implements the same CDATA splitting logic.
  • If an immediate update is not possible, modify the application’s use of XmlBuilder to explicitly sanitize or remove the sequence ]]> from any data that will be processed by XmlBuilder.generate/1 or generate/2.

Generated by OpenCVE AI on August 21, 2026 at 11:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 10:00:00 +0000

Type Values Removed Values Added
Description XML Injection vulnerability in joshnuss xml_builder (XmlBuilder module) allows Content Spoofing, XML Injection. This vulnerability is associated with program files lib/xml_builder.ex and program routines XmlBuilder.generate/1, XmlBuilder.generate/2, XmlBuilder.escape/1. The escape/1 clause for {:cdata, data} in lib/xml_builder.ex concatenates data verbatim between the CDATA opener <![CDATA[ and closer ]]> without rewriting or splitting on the embedded ]]> sequence. Because CDATA sections have no internal escape mechanism, the only safe way to embed arbitrary bytes is to split on ]]> and emit adjacent CDATA sections. An attacker who can supply input containing ]]> closes the CDATA section early; any bytes that follow are parsed as ordinary XML markup by downstream consumers, allowing injection of arbitrary elements, text, or entity references into the output document. This issue affects xml_builder: from 0.0.7 before 2.4.1.
Title CDATA Section Breakout via Unsanitised ]]> in xml_builder
First Time appeared Joshnuss
Joshnuss xml Builder
Weaknesses CWE-91
CPEs cpe:2.3:a:joshnuss:xml_builder:*:*:*:*:*:*:*:*
Vendors & Products Joshnuss
Joshnuss xml Builder
References
Metrics cvssV4_0

{'score': 2.1, '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'}


Subscriptions

Joshnuss Xml Builder
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-21T12:32:15.846Z

Reserved: 2026-05-18T17:28:10.319Z

Link: CVE-2026-47080

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-21T10:16:38.497

Modified: 2026-08-21T10:16:38.497

Link: CVE-2026-47080

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T11:30:04Z

Weaknesses
  • CWE-91

    XML Injection (aka Blind XPath Injection)