Home

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.

PUBLISHED Reserved 2026-07-07 | Published 2026-07-08 | Updated 2026-07-08 | Assigner GitHub_M




HIGH: 8.7CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Problem types

CWE-190: Integer Overflow or Wraparound

CWE-400: Uncontrolled Resource Consumption

CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

CWE-1284: Improper Validation of Specified Quantity in Input

Product status

>= 5.0.0-beta.1, < 5.1.8
affected

< 4.3.9
affected

References

github.com/...ble-js/security/advisories/GHSA-v56q-mh7h-f735 exploit

github.com/...ble-js/security/advisories/GHSA-v56q-mh7h-f735

github.com/...ommit/a1a1ee412dcaa380ab325196283d06594ffe4b84

github.com/...ommit/f0bc997d8eb9886aff2236635aa210a95a04304a

github.com/immutable-js/immutable-js/releases/tag/v4.3.9

github.com/immutable-js/immutable-js/releases/tag/v5.1.8

cve.org (CVE-2026-59879)

nvd.nist.gov (CVE-2026-59879)

Download JSON