Severity by source
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network vector because attacker data typically arrives via network; High complexity and UI:R because exploit requires specific entity-token pattern plus a downstream markup-sensitive rendering step; Scope changed to subsequent system (browser/renderer); integrity-only impact.
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
Lifecycle Timeline
2DescriptionCVE.org
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.
AnalysisAI
Incorrect entity-passthrough logic in joshnuss xml_builder (Elixir) versions 0.0.6 through 2.4.0 allows attacker-supplied text containing pre-encoded entity sequences such as <script> to be emitted verbatim into serialized XML, rather than being double-encoded to &lt;script&gt;. When a downstream parser decodes the output and renders it in a markup-sensitive context - HTML, SVG, or RSS/Atom feeds - the entity sequences resolve into live markup, enabling content spoofing and cross-site scripting while bypassing upstream filters that block raw angle-bracket characters. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Three concurrent conditions must hold: (1) attacker-controlled input containing an ampersand followed by one of the recognized entity suffixes (lt;, gt;, amp;, quot;, or apos;) must be passed to XmlBuilder.generate/1 or XmlBuilder.generate/2 - input with raw < or > characters does not trigger the bypass; (2) the produced XML document must be consumed by a downstream parser that decodes XML entities and then renders the decoded text in a markup-sensitive context such as an HTML browser, SVG renderer, or RSS/Atom reader; and (3) the upstream input validation layer must not block or re-encode ampersand characters, leaving the entity-encoded payload intact. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The provided CVSS 4.0 score of 2.1 (AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N) correctly reflects a narrow, low-severity integrity issue: no impact on the vulnerable system itself, only low integrity impact on subsequent systems (SI:L), and attack requirements present (AT:P). … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade xml_builder to version 2.4.1 or later; the fix is confirmed in upstream commit c3390e2046ec297b3bb8c30d5779cdfd6508c275 (https://github.com/joshnuss/xml_builder/commit/c3390e2046ec297b3bb8c30d5779cdfd6508c275), which removes the flawed escape_entity/1 dispatcher and ensures every bare ampersand is unconditionally escaped to &. … Detailed patch versions, workarounds, and compensating controls in full report. |
Threat intelligence, references, and detailed analysis are available after sign-in.
More in Xml Builder
View allXML injection in joshnuss xml_builder (Elixir) allows an attacker who can influence element names, attribute names, or d
XML injection in joshnuss xml_builder (versions 0.0.7 through before 2.4.1) enables content spoofing and XML structure m
Same weakness CWE-838 – Inappropriate Encoding for Output Context
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-63880