Выяснилось, что обнаруженная в 2007 году уязвимость под идентификатором CVE-2007-4559 в Python-модуле tarfile сейчас затрагивает более 350 000 проектов с открытым исходным кодом. Брешь связана с функциями extract и extractall в модуле tarfile, позволяет хакерам провести атаку обхода каталога (path traversal) и перезаписать произвольные файлы, добавляя последовательность ‘..’ к именам файлов в tar-архиве. Проще говоря, злоумышленник может воспользоваться брешью, загрузив tar-архив таким образом, чтобы можно было выйти из каталога, в который должен быть извлечен файл, а потом выполнить произвольный код и получить контроль над устройством жертвы. Необычно то, что уязвимость никто не исправил еще в 2007 году – вопрос закрыли после обновления документации. В обновлении было предупреждение: “Никогда не извлекайте архивы из ненадежных источников без предварительной проверки, так как файлы могут создаваться вне пути”. Компания Trellix, специалисты которой и обнаружили уязвимость, создала свой инструмент под названием Creosote, помогающий искать CVE-2007-4559. Именно с его помощью исследователи нашли уязвимость в Spyder Python IDE и Polemarch. Кроме того, эксперты Trellix уже подготовили исправления более чем для 11 000 проектов. Исследователи ожидают, что более 70 000 репозиториев получат исправления в ближайшие несколько недель.