HIGH🇬🇧 English

CVE-2026-59880

Immutable.js — atak ReDoS przez kolizje kluczy w Map i Set

CVSS 8.7v4.0pub. 2026-07-08upd. 2026-07-10

Biblioteka Immutable.js przed wersjami 4.3.9 i 5.1.8 jest podatna na celowe kolizje wartości hash prowadzące do nadmiernego zużycia CPU. Atakujący kontrolujący klucze wstawiane do struktur Immutable.Map lub Immutable.Set może doprowadzić do odmowy usługi (DoS).

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Struktury Immutable.Map i Immutable.Set przechowują klucze o identycznym 32-bitowym hashu w węźle HashCollisionNode, który jest przeszukiwany liniowo. Atakujący, który może kontrolować dane wejściowe — np. przez wywołania Immutable.Map(obj), Immutable.fromJS(obj), state.merge(userObject) lub mergeDeep — może spreparować dużą liczbę kluczy generujących ten sam hash. Powoduje to, że operacje wstawiania i wyszukiwania degradują się do złożoności liniowej zamiast stałej (CWE-407: Insufficient Algorithmic Complexity), pochłaniając nieproporcjonalne zasoby CPU.

Skutki

Atakujący może spowodować znaczne i ciągłe zużycie CPU na serwerze lub kliencie przetwarzającym złośliwe dane, prowadząc do odmowy usługi (DoS) dla pozostałych użytkowników aplikacji.

Mitygacja

Należy zaktualizować bibliotekę Immutable.js do wersji 4.3.9 (gałąź 4.x) lub 5.1.8 (gałąź 5.x). Patche dostępne są w oficjalnym repozytorium GitHub projektu immutable-js.

Kogo dotyczy

Immutable.js (immutable-js) w wersjach przed 4.3.9 (gałąź 4.x) oraz przed 5.1.8 (gałąź 5.x)

CVSS Vector
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
  • Immutable Js Immutable

    APP
    Immutable-Js
    < 4.3.95.0.0 – 5.1.8 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-59879HIGH8.7PL ✓ten sam produkt

Immutable.js: nieskończona pętla i niekontrolowana alokacja pamięci przy dużych indeksach List

CVE-2026-29063HIGH8.7ten sam produkt

Immutable.js provides many Persistent Immutable data structures. Prior to versions 3.8.3, 4.3.7, and 5.1.5, Pr...