What’s Vulnerable › Vulnerabilities
CVE-2026-59879: Immutable.js `List` 32-bit trie overflow → unrecoverable DoS
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-07-08 · updated 2026-07-10
- Weakness: CWE-190
Description
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.
Affected products
- immutable-js: before 4.3.9; from 5.0.0 before 5.1.8 — fixed in 4.3.9, 5.1.8
- Npm Immutable: from 4.0.0-rc.1 before 4.3.9; from 5.0.0-beta.1 before 5.1.8; before 3.8.4 — fixed in 4.3.9, 5.1.8, 3.8.4
How to fix
Upgrade to a fixed version: immutable-js 4.3.9, 5.1.8; Npm Immutable 4.3.9, 5.1.8, 3.8.4. Check the vendor advisory for mitigations.
References
- https://github.com/immutable-js/immutable-js/commit/a1a1ee412dcaa380ab325196283d06594ffe4b84
- https://github.com/immutable-js/immutable-js/commit/f0bc997d8eb9886aff2236635aa210a95a04304a
- https://github.com/immutable-js/immutable-js/releases/tag/v4.3.9
- https://github.com/immutable-js/immutable-js/releases/tag/v5.1.8
- https://github.com/immutable-js/immutable-js/security/advisories/GHSA-v56q-mh7h-f735
- https://github.com/immutable-js/immutable-js/security/advisories/GHSA-v56q-mh7h-f735
Get alerted when CVE-2026-59879 or the next vulnerability affects your stack