Ошибка 15-летней давности в Python делает уязвимыми более 350 тыс. проектов
Исследователи Trellix обнаружили ошибку в языке программирования Python, которая создаёт риск для сотен тысяч программных проектов. Выявленная уязвимость системы безопасности существовала в Python в течение 15 лет.
Отмечается, что уязвимость CVE-2007-4559 впервые была обнаружена ещё в 2007 году. Она находится в модуле tarfile, который используется программами Python для чтения и записи архивов Tar. С её помощью злоумышленники могут провести атаку обхода каталога (path traversal) и перезаписать произвольных файлов в системе, что может привести к выполнению вредоносного кода. Тогда уязвимость не исправили, а лишь ограничились предупреждением о существующем риске в обновлённой документации. Справедливости ради следует отметить, что сообщений об атаках и угрозах безопасности, способных использовать CVE-2007-4559, не поступало.
Однако недавно компания Trellix опубликовала напоминание об уязвимости. Анализируя несвязанную уязвимость, исследователи заявили, что наткнулись на древнюю ошибку в модуле tarfile.
Обсуждая проблему в системе отслеживания ошибок Python, разработчики еще раз пришли к выводу, что CVE-2007-4559 не является ошибкой: «tarfile.py не делает ничего неправильного», — заявили разработчики, и «нет известных или возможных практических эксплойтов». Официальная документация Python была обновлена ещё раз с предупреждением о возможной опасности, связанной с извлечением архивов из ненадёжных источников.
Исследователи Trellix не согласны с таким подходом и настаивают, что CVE-2007-4559 действительно является уязвимостью системы безопасности. В качестве доказательства они описали и продемонстрировали простой эксплойт, использующий уязвимость в среде разработки Spyder.
Trellix также изучила распространённость CVE-2007-4559, проанализировав проекты как с закрытым, так и открытым исходным кодом. Первоначально они обнаружили уровень уязвимости 61% в 257 различных репозиториях кода, а после автоматической проверки и анализа большего набора данных из 588840 репозиториев этот показатель увеличился до 65%.
По оценкам Trellix, уязвимости CVE-2007-4559 может быть подвержено более 350 тыс. проектов. Причём многие из этих проектов используются инструментами машинного обучения, чтобы помочь разработчикам быстрее завершить проект. Исследователи уже создали исправления для примерно 11 тыс. проектов и намерены далее работать в этом направлении.
Источник: techspot