CVE-2026-59879
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
W bibliotece Immutable.js w wersjach przed 4.3.9 i 5.1.8 wykryto podatność w funkcjach List#set, List#setSize, List#setIn, List#updateIn oraz w funkcjonalnych set, setIn i updateIn. Błędna obsługa indeksu lub rozmiaru w zakresie od 2^30 do 2^31 w metodzie setListBounds w pliku src/List.js może prowadzić do nieskończonej pętli, niekontrolowanego przydziału pamięci lub cichego zawijania dużych wartości.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do spowodowania awarii procesu (odmowa usługi) lub wyczerpania zasobów systemowych, co zagraża dostępności aplikacji korzystających z podatnej wersji biblioteki.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę Immutable.js do wersji 4.3.9 lub 5.1.8, które zawierają poprawkę eliminującą podatność.
Inne podatności w Immutable.js
Zobacz wszystkie- CVE-2026-29063Krytyczne
Biblioteka Immutable.js przed wersjami 3.8.3, 4.3.7 i 5.1.5 jest podatna na Prototype Pollution przez API mergeDeep(), mergeDeepWith(), merge(), Map.toJS() i Map.toObject().
- CVE-2026-59880Wysokie
W bibliotece Immutable.js przed wersjami 4.3.9 i 5.1.8 struktury danych Immutable.Map i Immutable.Set przechowują klucze o tym samym 32-bitowym skrócie w liniowo skanowanym zasobniku kolizji HashCollisionNode. Osoba atakująca kontrolująca klucze wstawiane do Mapy (np. przez Immutable.Map(obj), Immutable.fromJS(obj), state.merge(userObject) lub mergeDeep) może stworzyć wiele kolizyjnych kluczy, powodując degradację wydajności operacji wstawiania i wyszukiwania do nieproporcjonalnie wysokiego zużycia CPU.
Oryginalny opis (angielski, źródło NVD)
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.

