CVE-2026-101894
KrytyczneCVSS 9.1Streszczenie
Pakiet decompress dla Node.js przed wersjami 10.2.2 i 11.1.4 (oraz nieutrzymywany pakiet decompress do 4.2.1) ma podatność na obejście kontroli ścieżek przez łańcuchy dowiązań symbolicznych. Specjalnie spreparowane archiwum może pozwolić na zapis/odczyt plików poza katalogiem docelowym, a nadpisanie skryptów startowych lub konfiguracji może prowadzić do zdalnego wykonania kodu.
Ocena ryzyka
Atakujący może uzyskać zdalne wykonanie kodu na serwerze, jeśli aplikacja używa podatnej wersji pakietu decompress do rozpakowywania niezaufanych archiwów. Może to prowadzić do pełnego przejęcia systemu.
Rekomendacja
Zaktualizuj pakiet @xhmikosr/decompress do wersji 10.2.2 lub 11.1.4 (lub nowszej). Jeśli używasz nieutrzymywanego pakietu decompress, rozważ migrację do utrzymywanego odpowiednika.
Inne podatności w decompress
Zobacz wszystkie- CVE-2026-53486Krytyczne
Podatność w pakiecie decompress dla Node.js umożliwia tworzenie plików i dowiązań poza docelowym katalogiem podczas rozpakowywania archiwum. Problem wynika z braku walidacji ścieżek dowiązań twardych i symbolicznych, porównywania ścieżek za pomocą prefiksu oraz nieusuwania bitów setuid, setgid i sticky z uprawnień plików.
- CVE-2026-39246Wysokie
Biblioteka 'decompress' przed wersją 4.2.2 umożliwia tworzenie dowolnych dowiązań symbolicznych podczas rozpakowywania archiwum. Atakujący może spreparować archiwum zawierające dowiązania symboliczne wskazujące na wrażliwe pliki poza katalogiem docelowym, co prowadzi do ujawnienia informacji.
- CVE-2026-39245Średnie
W bibliotece 'decompress' przed wersją 4.2.2 wykryto podatność na przejście do katalogu nadrzędnego (directory traversal) i zapis dowolnego pliku. Funkcja safeMakeDir oraz walidacja ścieżki ekstrakcji używają String.indexOf() do sprawdzenia, czy rozpoznana ścieżka znajduje się w katalogu docelowym, co jest podatne na obejście przez brak wymogu separatora ścieżki. Atakujący może wykorzystać tę lukę do zapisu plików poza zamierzonym katalogiem, co stanowi obejście poprawki dla CVE-2020-12265.
- CVE-2026-39243Średnie
Biblioteka 'decompress' przed wersją 4.2.2 umożliwia tworzenie dowolnych dowiązań twardych podczas rozpakowywania archiwum. Atakujący może spreparować archiwum z wpisem dowiązania twardego zawierającym absolutną ścieżkę do pliku w tym samym systemie plików, co prowadzi do ujawnienia treści pliku lub jego nadpisania.
- CVE-2026-10732Średnie
Pakiet decompress w wszystkich wersjach jest podatny na zapis dowolnego pliku poprzez ekstrakcję archiwum (Zip Slip). Podatność wynika z kolejności przetwarzania mikro-zadań, która pozwala na ominięcie istniejących zabezpieczeń przed zapisem przez dowiązanie symboliczne. Atakujący może dostarczyć spreparowane archiwum ZIP, co może prowadzić do zdalnego wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
The decompress package for Node.js extracts archives. Prior to 10.2.2 and 11.1.4, the default decompress(input, output) API relies on lexical containment checks that do not account for the kernel following a planted symlink chain. An attacker can supply a crafted archive containing chained symlink entries so that a later entry resolves outside the output directory. This allows files outside output to be read or written, and overwriting startup scripts or configuration can lead to remote code execution. The maintained @xhmikosr/decompress package is fixed in 10.2.2 and 11.1.4, but the separately affected unmaintained decompress package remains unpatched through 4.2.1. This vulnerability results from a bypass of the incomplete hardening for CVE-2026-53486. @xhmikosr/decompress is fixed in versions 10.2.2 and 11.1.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

