Skip to main content
← All vulnerabilities
CVE-2026-59880GHSA-XVCM-6775-5M9R

Immutable.js: Hash-collision algorithmic complexity denial of service in Immutable.Map/Set

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.3.9, 5.1.8, 3.8.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

Immutable.js provides many Persistent Immutable data structures. Prior to 4.3.9 and 5.1.8, Immutable.Map and Immutable.Set keep keys that share the same 32-bit hash in a HashCollisionNode collision bucket that is scanned linearly, allowing an attacker who controls keys inserted into a Map, such as through Immutable.Map(obj), Immutable.fromJS(obj), state.merge(userObject), or mergeDeep, to craft many colliding keys and degrade insertion and lookup to consume disproportionate CPU. This issue is fixed in versions 4.3.9 and 5.1.8.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • immutable-js immutable-js

    fixed in 4.3.9; From 5.0.0-beta.1 · fixed in 5.1.8

  • immutablenpm

    From 4.0.0-beta.1 · fixed in 4.3.9

  • immutablenpm

    From 5.0.0-beta.1 · fixed in 5.1.8

  • immutablenpm

    fixed in 3.8.4

References 5

GitHub · immutable-js/immutable-js