Уязвимость в Python-модуле TarFile, допускающая запись в любые части ФС

Во входящем в штатную поставку Python модуле tarfile, предоставляющем функции для чтения и записи tar-архивов, выявлено пять уязвимостей, одной из которых присвоен критический уровень опасности. Уязвимости устранены в выпусках Python 3.13.4 и 3.12.11. Наиболее опасная уязвимость (CVE-2025-4517) даёт возможность при распаковке специально оформленного архива записать файлы в любую часть файловой системы. В системных скриптах, использующих tarfile и запускаемых с правами root (например, в утилитах для работы с пакетами и изолированными контейнерами), уязвимость может применяться для повышения своих привилегий или выхода за пределы изолированного контейнера. Уязвимость затрагивает проекты, в которых модуль 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, то вопреки документации подпадающие под заданный фильтр элементы архива распаковывались, а не игнорировались. Источник: opennet.ru https://prohoster.info/blog/novosti-interneta/uyazvimost-v-python-module-tarfile-dopuskayushhaya-zapis-v-lyubye-chasti-fs

Комментарии

Популярные сообщения из этого блога

Выпуск платформы OpenSilver 3.2, продолжающей развитие технологии Silverlight

Переполнение буфера в Perl, связанное с обработкой символов

Уязвимость в KDE Konsole, позволяющая выполнить код при открытии страницы в браузере