CVE-2025-4330
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 53 - wyżej niż 53% wszystkich znanych CVE
Streszczenie
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'.
Ocena ryzyka
Atakujący może umieścić pliki poza zamierzonym katalogiem docelowym, co może prowadzić do nadpisania krytycznych plików systemowych lub eskalacji uprawnień.
Rekomendacja
Zaktualizuj Pythona do wersji 3.14 lub nowszej, gdzie domyślnym filtrem jest 'data'. Unikaj ekstrakcji niezaufanych archiwów tar bez odpowiedniego filtra.
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.
Oryginalny opis (angielski, źródło NVD)
Allows the extraction filter to be ignored, allowing symlink targets to point outside the destination directory, and the modification of some file metadata. You are affected by this vulnerability if using the tarfile module to extract untrusted tar archives using TarFile.extractall() or TarFile.extract() using the filter= parameter with a value of "data" or "tar". See the tarfile extraction filters documentation https://docs.python.org/3/library/tarfile.html#tarfile-extraction-filter for more information. Note that for Python 3.14 or later the default value of filter= changed from "no filtering" to `"data", so if you are relying on this new default behavior then your usage is also affected. Note that none of these vulnerabilities significantly affect the installation of source distributions which are tar archives as source distributions already allow arbitrary code execution during the build process. However when evaluating source distributions it's important to avoid installing source distributions with suspicious links.

