CVE-2025-13465
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 79 - wyżej niż 79% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może usunąć właściwości z globalnych prototypów, co może prowadzić do nieprzewidywalnego zachowania aplikacji, błędów lub potencjalnych dalszych ataków. Ryzyko dotyczy aplikacji wykorzystujących podatne funkcje Lodash.
Rekomendacja
Zaktualizuj bibliotekę Lodash do wersji 4.17.23 (dla lodash, lodash-es, lodash-amd) lub 4.18.0 (dla lodash.unset i lodash.omit). Sprawdź, czy aplikacja nie używa podatnych funkcji w sposób niebezpieczny.
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-28500Średnie
Lodash w wersjach wcześniejszych niż 4.17.21 jest podatny na Regular Expression Denial of Service (ReDoS) poprzez funkcje toNumber, trim i trimEnd.
- 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.
Oryginalny opis (angielski, źródło NVD)
The _.unset and _.omit functions in Lodash are vulnerable to prototype pollution. An attacker can pass crafted paths which cause Lodash to delete methods from global prototypes. The issue permits deletion of properties but does not allow overwriting their original behavior. The issue is patched from 4.17.23 to 4.18.0 depending on the package: lodash, lodash-es, and lodash-amd in 4.17.23, and the standalone lodash.unset and lodash.omit packages in 4.18.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

