Уязвимость затрагивает проекты, в которых модуль tarfile применяется для распаковки не заслуживающих доверия tar-архивов, используя функцию TarFile.extractall() или TarFile.extract() с параметром "filter=", выставленным в значение "data" или "tar". Уязвимость вызвана некорректной обработкой последовательности ".." в имени ссылки. Проблема затрагивает версии Python начиная с 3.12. Режим 'filter="data"' применяется по умолчанию в ветке Python 3.14, находящейся в разработке (релиз намечен на осень).
Другие уязвимости в TarFile:
- CVE-2025-4330 - возможность обхода фильтра извлекаемых данных, что может привести к извлечению из архива символической ссылки, указывающей за пределы базового каталога, в который выполняется распаковка.
- CVE-2025-4138 - возможность создания произвольных символических ссылок за пределами базового каталога при распаковке архивов с параметром 'filter="data"'.
- CVE-2024-12718 - возможность изменения метаданных (например, времени модификации) файлов за пределами базового каталога при распаковке архивов с параметром 'filter="data"' или прав доступа (chmod) при распаковке архивов с параметром 'filter="tar"'.
- CVE-2025-4435 - если при распаковке архива параметр TarFile.errorlevel выставлен в значение 0, то вопреки документации подпадающие под заданный фильтр элементы архива распаковывались, а не игнорировались.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63365
(opennet.ru, мини-новости)