chore(deps): update dependency fast-xml-parser to v5.5.6 [security]#2248
chore(deps): update dependency fast-xml-parser to v5.5.6 [security]#2248renovate[bot] wants to merge 1 commit intomainfrom
Conversation
80ad94f to
df60c1f
Compare
df60c1f to
88281c1
Compare
88281c1 to
be0abae
Compare
be0abae to
c7e9510
Compare
c7e9510 to
e0c0054
Compare
e0c0054 to
1159bbc
Compare
8fef020 to
df637a7
Compare
df637a7 to
f56deb8
Compare
f56deb8 to
3c43428
Compare
3c43428 to
55fcb7c
Compare
55fcb7c to
19fa99e
Compare
|
|
|
|
|
|



This PR contains the following updates:
5.4.2→5.5.6GitHub Vulnerability Alerts
CVE-2026-33036
Summary
The fix for CVE-2026-26278 added entity expansion limits (
maxTotalExpansions,maxExpandedLength,maxEntityCount,maxEntitySize) to prevent XML entity expansion Denial of Service. However, these limits are only enforced for DOCTYPE-defined entities. Numeric character references (&#NNN;and&#xHH;) and standard XML entities (<,>, etc.) are processed through a separate code path that does NOT enforce any expansion limits.An attacker can use massive numbers of numeric entity references to completely bypass all configured limits, causing excessive memory allocation and CPU consumption.
Affected Versions
fast-xml-parser v5.x through v5.5.3 (and likely v5.5.5 on npm)
Root Cause
In
src/xmlparser/OrderedObjParser.js, thereplaceEntitiesValue()function has two separate entity replacement loops:entityExpansionCountandcurrentExpandedLengthtracking. This was the CVE-2026-26278 fix.lastEntitiesloop — replaces standard entities includingnum_dec(/&#([0-9]{1,7});/g) andnum_hex(/&#x([0-9a-fA-F]{1,6});/g). This loop has NO expansion counting at all.The numeric entity regex replacements at lines 97-98 are part of
lastEntitiesand go through the uncounted loop, completely bypassing the CVE-2026-26278 fix.Proof of Concept
Results:
&#​65;references → 500,000 char output (5x default maxExpandedLength of 100,000)maxTotalExpansions=10andmaxExpandedLength=100, 10K references produce 50,000 charsA) exhibit the same bypassImpact
Denial of Service — An attacker who can provide XML input to applications using fast-xml-parser can cause:
This is particularly dangerous because the application developer may have explicitly configured strict entity expansion limits believing they are protected, while numeric entities silently bypass all of them.
Suggested Fix
Apply the same
entityExpansionCountandcurrentExpandedLengthtracking to thelastEntitiesloop (lines 674-677) and the HTML entities loop (lines 680-686), similar to how DOCTYPE entities are tracked at lines 638-670.Workaround
Set
htmlEntities:falseRelease Notes
NaturalIntelligence/fast-xml-parser (fast-xml-parser)
v5.5.6: fix entity expansion and incorrect replacement and performanceCompare Source
Full Changelog: NaturalIntelligence/fast-xml-parser@v5.5.5...v5.5.6
v5.5.5Compare Source
v5.5.4Compare Source
v5.5.3Compare Source
v5.5.2Compare Source
v5.5.1: integrate path-expression-matcherCompare Source
v5.5.0Compare Source
Configuration
📅 Schedule: (in timezone America/Vancouver)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.