CVE-2026-87910
ŚrednieCVSS 5.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
W module tarfile języka Python, gdy rozpakowywany jest link w systemie, który nie obsługuje linków, następuje fallback do rozpakowania elementu z archiwum. W takim przypadku funkcja filtra jest uruchamiana dwukrotnie, a dla jednego z wywołań wartość zwracana jest ignorowana, co może prowadzić do nieprawidłowego rozpakowania elementu.
Ocena ryzyka
Może dojść do rozpakowania niechcianych lub niebezpiecznych elementów archiwum, co potencjalnie prowadzi do nadpisania plików lub innych skutków naruszenia bezpieczeństwa.
Rekomendacja
Zaktualizuj Pythona do wersji zawierającej poprawkę, w której element jest pomijany, jeśli którekolwiek z wywołań funkcji filtra zwróci None.
Inne podatności w Python tarfile
Zobacz wszystkie- CVE-2026-19672Średnie
Moduł tarfile w Pythonie ma podatność w filtrach ekstrakcji danych, która pozwala na tworzenie katalogów poza docelowym katalogiem dla członków archiwum, których nazwa wychodzi poza katalog docelowy i do niego wraca (np. ../evil/../dest/sub/file). Problem dotyczy tylko platform POSIX i tworzy tylko puste katalogi poza docelowym.
- CVE-2026-11940Wysokie
Funkcja tarfile.extractall() z filtrem 'data' lub 'tar' może zostać ominięta przez spreparowane archiwum, w którym dowiązanie twarde odwołuje się do dowiązania symbolicznego przechowywanego głębiej niż samo dowiązanie twarde. Pozwala to na utworzenie dowiązania symbolicznego wskazującego poza katalog docelowy, umożliwiając odczyt lub zapis plików poza nim. Jest to niekompletna poprawka CVE-2025-4330.
- CVE-2025-8194Wysokie
W module tarfile języka Python występuje wada w API ekstrakcji i wyliczania wpisów TarFile. Archiwa tar z ujemnymi offsetami powodują nieskończoną pętlę i zakleszczenie podczas parsowania złośliwych archiwów.
- CVE-2025-4330Wysokie
Podatność w module tarfile języka Python umożliwia pominięcie filtra ekstrakcji, co pozwala dowiązaniom symbolicznym wskazywać poza katalog docelowy oraz modyfikować metadane plików. Dotyczy to użycia TarFile.extractall() lub TarFile.extract() z parametrem filter='data' lub 'tar'.
Oryginalny opis (angielski, źródło NVD)
When tarfile extracts a link on a system that doesn't support links, it falls back to extracting a member from the archive. In this case, the filter function is run twice: once for the extracted member, and once with name set to the location of the link. For one of the calls, the return value was ignored. Instead, the member should be skipped if either call returns None.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

