fast-xml-parser affected by DoS through entity expansion in DOCTYPE (no expansion limit)
Exploitation and risk
Source statusCISA KEV lists vulnerabilities known to be exploited. FIRST EPSS estimates the likelihood of exploitation in the next 30 days. An unavailable score does not mean zero risk.
Which CVEs have scores here?
This view includes predictions for CVE identifiers explicitly listed in public NuGet advisories. Microsoft release pages have their own prediction coverage. Check source status for the scope and latest checks.
No exploitation or prediction data is available here for these CVEs. This does not mean they are safe or unlikely to be exploited.
cve-program · CVE-2026-26278
Publishedfast-xml-parser allows users to validate XML, parse XML to JS object, or build XML from JS object without C/C++ based libraries and no callback. In versions 4.1.3 through 5.3.5, the XML parser can be forced to do an unlimited amount of entity expansion. With a very small XML input, it’s possible to make the parser spend seconds or even minutes processing a single request, effectively freezing the application. Version 5.3.6 fixes the issue. As a workaround, avoid using DOCTYPE parsing by `processEntities: false` option.
- Source published
- 19 Feb 2026 19:40:55 UTC
- Source modified
- 10 Sep 2026 12:05:09 UTC
- Saved here
- 23 Oct 2026 15:48:27 UTC
- Source terms
- CVE Program Terms of Use
Original source record · Cite this exact observation · Complete original publisher JSON
Source: cve-program · CVE Program Terms of Use. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS 3.1 · 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
euvd · EUVD-2026-7970
Publishedfast-xml-parser allows users to validate XML, parse XML to JS object, or build XML from JS object without C/C++ based libraries and no callback. In versions 4.1.3 through 5.3.5, the XML parser can be forced to do an unlimited amount of entity expansion. With a very small XML input, it’s possible to make the parser spend seconds or even minutes processing a single request, effectively freezing the application. Version 5.3.6 fixes the issue. As a workaround, avoid using DOCTYPE parsing by `processEntities: false` option.
Additional publisher context
EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.
Original publisher date fields
datePublished: Feb 19, 2026, 7:40:55 PM
dateUpdated: Sep 10, 2026, 12:05:09 PM
11 related source bulletins · separate from aliases
RHSA-2026:7128: Red Hat Security Advisory: RHACS 4.9.5 security and bug fix update
CVE-2026-25128 · CVE-2026-25535 · CVE-2026-25755 · CVE-2026-25896 · CVE-2026-25940 · CVE-2026-26278 · CVE-2026-27942 · CVE-2026-31898 · CVE-2026-31938 · CVE-2026-33036 · CVE-2026-33186
RHSA-2026:6802: Red Hat Security Advisory: Red Hat Developer Hub 1.9.3 release.
CVE-2025-61140 · CVE-2025-69873 · CVE-2026-1615 · CVE-2026-2359 · CVE-2026-3304 · CVE-2026-3520 · CVE-2026-24046 · CVE-2026-25153 · CVE-2026-25639 · CVE-2026-25679 · CVE-2026-25896 · CVE-2026-26278 · CVE-2026-27606 · CVE-2026-27942 · CVE-2026-33186
RHSA-2026:51349: Red Hat Security Advisory: General availability of the satellite/iop-host-inventory-frontend-rhel9 container image
CVE-2026-13149 · CVE-2026-13676 · CVE-2026-25128 · CVE-2026-25896 · CVE-2026-26278 · CVE-2026-26996 · CVE-2026-27904 · CVE-2026-27942 · CVE-2026-33036 · CVE-2026-44990
RHSA-2026:40984: Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.20.15 security, enhancement & bug fix update
CVE-2025-12816 · CVE-2025-13465 · CVE-2025-15284 · CVE-2025-66031 · CVE-2025-68157 · CVE-2025-68458 · CVE-2025-69873 · CVE-2026-4800 · CVE-2026-22029 · CVE-2026-25128 · CVE-2026-25896 · CVE-2026-26278 · CVE-2026-26996 · CVE-2026-27904 · CVE-2026-27942 · CVE-2026-29063 · CVE-2026-33036 · CVE-2026-33186 · CVE-2026-33815 · CVE-2026-33816 · CVE-2026-34986 · CVE-2026-48779
openSUSE-SU-2026:11126-1: velociraptor-0.7.0.4.git185.a5708584-2.1 on GA media
CVE-2023-45288 · CVE-2024-45339 · CVE-2025-13465 · CVE-2025-22868 · CVE-2025-22869 · CVE-2025-22870 · CVE-2025-22872 · CVE-2025-24358 · CVE-2025-47911 · CVE-2025-58058 · CVE-2025-58181 · CVE-2025-58190 · CVE-2025-5889 · CVE-2025-64718 · CVE-2025-6545 · CVE-2025-6547 · CVE-2025-7783 · CVE-2026-1229 · CVE-2026-25128 · CVE-2026-25680 · CVE-2026-25681 · CVE-2026-26278 · CVE-2026-26996 · CVE-2026-27136 · CVE-2026-2739 · CVE-2026-27606 · CVE-2026-27904 · CVE-2026-33036 · CVE-2026-33186 · CVE-2026-33487 · CVE-2026-33814 · CVE-2026-34986 · CVE-2026-39821 · CVE-2026-39827 · CVE-2026-39828 · CVE-2026-39829 · CVE-2026-39830 · CVE-2026-39831 · CVE-2026-39832 · CVE-2026-39833 · CVE-2026-39834 · CVE-2026-39835 · CVE-2026-42039 · CVE-2026-42502 · CVE-2026-42506 · CVE-2026-42508 · CVE-2026-46595 · CVE-2026-46597 · CVE-2026-46598
RHSA-2026:41941: Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.18.25 security, enhancement & bug fix update
CVE-2025-12816 · CVE-2025-13465 · CVE-2025-15284 · CVE-2025-47907 · CVE-2025-58183 · CVE-2025-61726 · CVE-2025-61729 · CVE-2025-66031 · CVE-2025-68157 · CVE-2025-68458 · CVE-2025-69873 · CVE-2026-4800 · CVE-2026-25896 · CVE-2026-26278 · CVE-2026-26996 · CVE-2026-27904 · CVE-2026-27942 · CVE-2026-29063 · CVE-2026-33036 · CVE-2026-33186 · CVE-2026-34986 · CVE-2026-48779
RHSA-2026:7110: Red Hat Security Advisory: RHACS 4.8.10 security and bug fix update
CVE-2026-25128 · CVE-2026-25535 · CVE-2026-25755 · CVE-2026-25896 · CVE-2026-25940 · CVE-2026-26278 · CVE-2026-27942 · CVE-2026-29074 · CVE-2026-31898 · CVE-2026-31938 · CVE-2026-33036 · CVE-2026-33186
openSUSE-SU-2026:10236-1: heroic-games-launcher-2.20.0-1.1 on GA media
CVE-2026-25547 · CVE-2026-26278
sca-2026-0014: Fast-xml-parser vulnerabilities affect Sentio Creator Extension 'Device Manager'
CVE-2026-27942 · CVE-2026-25896 · CVE-2026-26278
RHSA-2026:41944: Red Hat Security Advisory: Red Hat OpenShift Data Foundation 4.19.20 security, enhancement & bug fix update
CVE-2025-12816 · CVE-2025-13465 · CVE-2025-15284 · CVE-2025-66031 · CVE-2025-68157 · CVE-2025-68458 · CVE-2025-69873 · CVE-2026-4800 · CVE-2026-25128 · CVE-2026-25896 · CVE-2026-26278 · CVE-2026-26996 · CVE-2026-27904 · CVE-2026-27942 · CVE-2026-29063 · CVE-2026-33036 · CVE-2026-33186 · CVE-2026-34986 · CVE-2026-48779
RHSA-2026:6174: Red Hat Security Advisory: Red Hat Developer Hub 1.8.5 release.
CVE-2025-61140 · CVE-2026-2359 · CVE-2026-3304 · CVE-2026-3520 · CVE-2026-24046 · CVE-2026-25153 · CVE-2026-25639 · CVE-2026-25896 · CVE-2026-26278 · CVE-2026-27606 · CVE-2026-27942 · CVE-2026-33186
- Source published
- Feb 19, 2026, 7:40:55 PM (timezone not stated)
- Source modified
- Sep 10, 2026, 12:05:09 PM (timezone not stated)
- Saved here
- 13 Nov 2026 08:13:54 UTC
- Source terms
- ENISA EUVD · source terms and attribution apply
Original source record · Cite this exact observation · Complete original publisher JSON
Source: euvd · ENISA EUVD · source terms and attribution apply. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
EUVD CVSS 3.1 · 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvd · CVE-2026-26278
Publishedfast-xml-parser allows users to validate XML, parse XML to JS object, or build XML from JS object without C/C++ based libraries and no callback. In versions 4.1.3 through 5.3.5, the XML parser can be forced to do an unlimited amount of entity expansion. With a very small XML input, it’s possible to make the parser spend seconds or even minutes processing a single request, effectively freezing the application. Version 5.3.6 fixes the issue. As a workaround, avoid using DOCTYPE parsing by `processEntities: false` option.
Additional publisher context
NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.
Source analysis status: Modified
Weakness classifications: CWE-776
Original publisher date fields
published: 2026-02-19T20:25:43.717
lastModified: 2026-09-10T13:17:56.203
1 source CPE criteria · context only
- cpe:2.3:a:naturalintelligence:fast-xml-parser:*:*:*:*:*:*:*:*
The original JSON retains the logical configuration operators, exclusions and version bounds.
- Source published
- 19 Feb 2026 20:25:43 UTC
- Source modified
- 10 Sep 2026 13:17:56 UTC
- Saved here
- 25 Oct 2026 06:17:22 UTC
- Source terms
- NIST NVD usage terms; underlying source attribution retained
Original source record · Cite this exact observation · Complete original publisher JSON
Source: nvd · NIST NVD usage terms; underlying source attribution retained. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS 3.1 · [email protected] · Secondary · 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.1 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c · Secondary · 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
osv · GHSA-jmr7-xgp7-cmfj
Published### Summary The XML parser can be forced to do an unlimited amount of entity expansion. With a very small XML input, it’s possible to make the parser spend seconds or even minutes processing a single request, effectively freezing the application. ### Details There is a check in `DocTypeReader.js` that tries to prevent entity expansion attacks by rejecting entities that reference other entities (it looks for & inside entity values). This does stop classic “Billion Laughs” payloads. However, it doesn’t stop a much simpler variant. If you define one large entity that contains only raw text (no & characters) and then reference it many times, the parser will happily expand it every time. There is no limit on how large the expanded result can become, or how many replacements are allowed. The problem is in `replaceEntitiesValue()` inside `OrderedObjParser.js`. It repeatedly runs `val.replace()` in a loop, without any checks on total output size or execution cost. As the entity grows or the number of references increases, parsing time explodes. Relevant code: `DocTypeReader.js` (lines 28–33): entity registration only checks for & `OrderedObjParser.js` (lines 439–458): entity replacement loop with no limits ### PoC ```js const { XMLParser } = require('fast-xml-parser'); const entity = 'A'.repeat(1000); const refs = '&big;'.repeat(100); const xml = `<!DOCTYPE foo [<!ENTITY big "${entity}">]><root>${refs}</root>`; console.time('parse'); new XMLParser().parse(xml); // ~4–8 seconds for ~1.3 KB of XML console.timeEnd('parse'); // 5,000 chars × 100 refs takes 200+ seconds // 50,000 chars × 1,000 refs will hang indefinitely ``` ### Impact This is a straightforward denial-of-service issue. Any service that parses user-supplied XML using the default configuration is vulnerable. Since Node.js runs on a single thread, the moment the parser starts expanding entities, the event loop is blocked. While this is happening, the server can’t handle any other requests. In testing, a payload of only a few kilobytes was enough to make a simple HTTP server completely unresponsive for several minutes, with all other requests timing out. ### Workaround Avoid using DOCTYPE parsing by `processEntities: false` option.
- Source published
- 17 Feb 2026 21:30:10 UTC
- Source modified
- 10 Sep 2026 03:50:35 UTC
- Saved here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
Source: osv · GitHub Advisory Database · CC-BY-4.0. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS_V3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Publisher rating · HIGH