Skip to main content

Immutable.js EUVDEUVD-2026-42318

| CVE-2026-59879 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-07-08 GitHub_M GHSA-v56q-mh7h-f735
8.7
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/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
vuln.today AI
7.5 HIGH

Availability-only DoS reachable over the network with no auth or interaction when the app forwards untrusted numbers; scope unchanged, no confidentiality or integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.5 MEDIUM
qualitative

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Patch available
Jul 08, 2026 - 18:02 EUVD
Analysis Generated
Jul 08, 2026 - 16:56 vuln.today

DescriptionCVE.org

Immutable.js provides many Persistent Immutable data structures. Prior to 4.3.9 and 5.1.8, List#set, List#setSize, List#setIn, List#updateIn, and the functional set, setIn, and updateIn mishandle an index or size in the range 2 30 to 2 31 in setListBounds in src/List.js, causing an empty List to enter an uncatchable infinite loop, a populated List to allocate without bound until process abort, or setSize to silently wrap large values. This issue is fixed in versions 4.3.9 and 5.1.8.

AnalysisAI

Denial of service in the Immutable.js JavaScript library (versions before 4.3.9 and 5.1.8) allows attackers who can influence an index or size value to crash or hang a Node.js/browser process. Passing a value between 2^30 and 2^31 to List#set, setSize, setIn, updateIn (or the functional equivalents) drives setListBounds into an uncatchable infinite loop on empty Lists, unbounded memory allocation until process abort on populated Lists, or a silent integer wrap on setSize. No public exploit code has been identified at time of analysis, and the flaw is not on the CISA KEV list; impact is availability-only.

Technical ContextAI

Immutable.js is a very widely used npm package providing persistent immutable collections (List, Map, Set, etc.) for JavaScript, commonly embedded in React/Redux front ends and Node.js services. The root cause is CWE-190 (Integer Overflow or Wraparound) inside setListBounds in src/List.js: internal index/size arithmetic assumes values stay within the array-safe range, but values in the range 2^30 to 2^31 break the bounds-computation loop and capacity handling. Because JavaScript numbers and the library's internal 32-bit tree-shift math (Lists are backed by a trie of 32-wide nodes) are involved, an out-of-range index either never satisfies the loop's termination condition (infinite loop) or forces the structure to grow node-by-node without bound (memory exhaustion). The affected component is identified in CPE as cpe:2.3:a:immutable-js:immutable-js.

RemediationAI

Upgrade to Vendor-released patch: 4.3.9 (for 4.x deployments) or 5.1.8 (for 5.x deployments); the fixes are in commits a1a1ee412dcaa380ab325196283d06594ffe4b84 and f0bc997d8eb9886aff2236635aa210a95a04304a and are referenced in advisory GHSA-v56q-mh7h-f735. Because this is a transitive dependency in many builds, run npm/yarn dependency resolution (e.g. npm ls immutable, then update lockfiles) to ensure the patched version is actually resolved rather than a cached vulnerable copy. Where immediate upgrade is not possible, add input validation at the application boundary so that any user-influenced value used as a List index or size is bounds-checked and rejected if it reaches or exceeds 2^30 (roughly 1,073,741,824); this is the specific compensating control, with the trade-off that it must be applied at every call site that forwards untrusted numbers into set, setSize, setIn, updateIn, or the functional set/setIn/updateIn helpers, and it does nothing for internally-computed sizes.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected

Share

EUVD-2026-42318 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy