Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. immutable
  4. ›
  5. CVE-2026-59879

CVE-2026-59879: Immutable.js `List` 32-bit trie overflow → unrecoverable DoS

July 21, 2026 (updated September 16, 2026)

List#set, List#setSize, List#setIn, List#updateIn (and the functional set / setIn / updateIn) mishandle an index or size in the range [2 ** 30, 2 ** 31):

  • On an empty List the operation enters an uncatchable infinite loop (a tight CPU spin; a surrounding try/catch never regains control). Only killing the worker recovers it.
  • On a populated List (≥ 32 elements — i.e. any array of ≥ 32 items turned into a List by fromJS) the loop allocates without bound → heap exhaustion → the process aborts (SIGABRT, exit 134, or kernel OOM-kill 137). A real crash, not a recoverable error.

The index may be a numeric string, so it can come straight from a request body, URL, or key-path. A single small unauthenticated request is enough.

There is also a companion silent data-corruption issue in setSize:

List([1, 2, 3]).setSize(2 ** 31); // before fix => size 0  (silently cleared)
List([1, 2, 3]).setSize(2 ** 32 + 5); // before fix => size 5  (huge value wraps to 5)

References

  • github.com/advisories/GHSA-v56q-mh7h-f735
  • github.com/immutable-js/immutable-js/commit/a1a1ee412dcaa380ab325196283d06594ffe4b84
  • github.com/immutable-js/immutable-js/commit/f0bc997d8eb9886aff2236635aa210a95a04304a
  • github.com/immutable-js/immutable-js/releases/tag/v3.8.4
  • github.com/immutable-js/immutable-js/releases/tag/v4.3.9
  • github.com/immutable-js/immutable-js/releases/tag/v5.1.8
  • github.com/immutable-js/immutable-js/security/advisories/GHSA-v56q-mh7h-f735
  • nvd.nist.gov/vuln/detail/CVE-2026-59879

Code Behaviors & Features

Detect and mitigate CVE-2026-59879 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 3.8.4, all versions starting from 4.0.0-rc.1 before 4.3.9, all versions starting from 5.0.0-beta.1 before 5.1.8

Fixed versions

  • 3.8.4
  • 4.3.9
  • 5.1.8

Solution

Upgrade to versions 3.8.4, 4.3.9, 5.1.8 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Learn more about CVSS

Weakness

  • CWE-1284: Improper Validation of Specified Quantity in Input
  • CWE-190: Integer Overflow or Wraparound
  • CWE-400: Uncontrolled Resource Consumption
  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

Source file

npm/immutable/CVE-2026-59879.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:22 +0000.