CVE-2020-28500
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 94 - wyżej niż 94% wszystkich znanych CVE
Streszczenie
Lodash w wersjach wcześniejszych niż 4.17.21 jest podatny na Regular Expression Denial of Service (ReDoS) poprzez funkcje toNumber, trim i trimEnd.
Ocena ryzyka
Atak ReDoS może spowodować znaczne spowolnienie lub całkowite zawieszenie aplikacji, co prowadzi do niedostępności usług.
Rekomendacja
Zaleca się aktualizację Lodash do wersji 4.17.21 lub nowszej oraz unikanie przetwarzania niezaufanych danych wejściowych przez te funkcje.
Inne podatności w Lodash
Zobacz wszystkie- CVE-2021-23337Wysokie
Lodash w wersjach przed 4.17.21 jest podatny na wstrzyknięcie poleceń (Command Injection) poprzez funkcję template.
- CVE-2020-8203Wysokie
W bibliotece lodash przed wersją 4.17.20 występuje podatność na zanieczyszczenie prototypu podczas używania funkcji _.zipObjectDeep.
- CVE-2026-4800Wysokie
Poprawka dla CVE-2021-23337 dodała walidację opcji zmiennej w _.template, ale nie zastosowała tej samej walidacji do nazw kluczy options.imports, a obie ścieżki prowadzą do tego samego konstruktora Function(). Gdy aplikacja przekazuje niezaufane dane wejściowe jako nazwy kluczy options.imports, atakujący może wstrzyknąć wyrażenia domyślnych parametrów wykonujące dowolny kod w czasie kompilacji szablonu. Dodatkowo _.template używa assignInWith do scalania importów, co wylicza odziedziczone właściwości przez for..in, więc jeśli Object.prototype zostało zanieczyszczone przez inny wektor, zanieczyszczone klucze są kopiowane do obiektu imports i przekazywane do Function().
- CVE-2026-2950Średnie
Funkcje _.unset i _.omit w bibliotece Lodash są podatne na zanieczyszczenie prototypu (prototype pollution). Poprawka dla CVE-2025-13465 chroni tylko przed elementami kluczy będących ciągami znaków, więc atakujący może obejść to sprawdzenie, przekazując segmenty ścieżki opakowane w tablicę. Umożliwia to usunięcie właściwości z wbudowanych prototypów, takich jak Object.prototype, Number.prototype i String.prototype. Luka pozwala na usunięcie właściwości prototypu, ale nie umożliwia nadpisania ich oryginalnego zachowania. Podatność została naprawiona w wersjach od 4.18.0 do 4.18.1 w zależności od pakietu: lodash, lodash-es i lodash-amd w 4.18.1 oraz samodzielne pakiety lodash.unset i lodash.omit w 4.18.0.
- CVE-2025-13465Średnie
Funkcje _.unset i _.omit w bibliotece Lodash są podatne na zanieczyszczenie prototypu (prototype pollution). Atakujący może przekazać spreparowane ścieżki, które powodują usunięcie metod z globalnych prototypów przez Lodash. Luka pozwala na usunięcie właściwości, ale nie umożliwia nadpisania ich oryginalnego zachowania. Podatność została naprawiona w wersjach od 4.17.23 do 4.18.0 w zależności od pakietu: lodash, lodash-es i lodash-amd w 4.17.23 oraz samodzielne pakiety lodash.unset i lodash.omit w 4.18.0.
Oryginalny opis (angielski, źródło NVD)
Lodash versions prior to 4.17.21 are vulnerable to Regular Expression Denial of Service (ReDoS) via the toNumber, trim and trimEnd functions.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

