Гигантская 15-летняя брешь в Python затрагивает сотни тысяч проектов
В языке программирования Python найдена брешь, которая закралась в него ещё в 2007 году. Разработчики знали о ней все 15 лет, но так и не смогли устранить, ограничившись лишь предупреждением в документации. По предварительным данным, за это время брешь проникла в сотни тысяч репозиториев с открытым исходным кодом, а число затронутых ею проприетарных программ ещё предстоит выяснить, пишет Bleeping Computer.
Проблема усугубляется тем, что Python — самый популярный язык программирования в мире, и на нём пишут миллионы программистов. Python уже год удерживает лидерство в рейтинге TIOBE, который возглавил в прошлом октябре.
Уязвимость выявили в конце августа 2007 года, но не только не закрыли, но даже не присвоили ей степень опасности. Пока что у неё имеется лишь факт существования и индекс CVE-2007-4559.
Уязвимость находится в пакете tarfile Python в части кода, где используются непроверенные функции tarfile.extract () или tarfile.extractall (). Она позволяет перезаписывать и захватывать файлы на компьютере жертвы, когда уязвимое приложение открывает вредоносный tar-архив через tarfile.
За 15 лет разработчики Python из Python Software Foundation не предприняли ничего, чтобы обезопасить пользователей программ, в которых прячется уязвимость, а также решили не предупреждать разработчиков о проблеме.
В течение полутора десятка лет о CVE-2007-4559 никто не вспоминал, что немного снижало риск её эксплуатации киберпреступниками. Уязвимость снова всплыла в начале 2022 года в ходе расследования другого инцидента безопасности, связанного с Python. Но даже повторное освещение не побудило разработчиков языка исправить её.
Однако теперь в документации к Python есть предупреждение, что «открытие архивов из ненадёжных источников может быть опасным», а в системе отслеживания ошибок Python появилось уведомление, что разработчики разобрались с CVE-2007-4559.
В этом году брешь обнаружили исследователи компании Trellix, когда изучали совсем другую проблему в Python. Чтобы оценить опасность своей находки, эксперты взяли 257 репозиториев, которые, по их предположению, с наибольшей вероятностью могли содержать уязвимый код, и проверили вручную. «Дыра» присутствовала в 65% из них.
В дальнейшем к изучению проблемы подключился GitHub. «С помощью GitHub мы получили гораздо больший набор данных, включающий 588840 уникальных репозиториев, в Python-коде которых содержится import tarfil», — сообщили представители Trellix.
В общей сложности, по подсчётам экспертов, заражёнными оказались минимум 350 тысяч проектов на GitHub. На деле ситуация может быть ещё хуже, поскольку многие из этих проектов использовались для обучения сервиса GitHub CoPilot, который даёт программистам подсказки при написании кода.
В Trellix также подготовили исправления для чуть более 11 тысяч проектов на GitHub — они будут доступны в ответвлении затронутых репозиториев и добавлены в основной проект через пулреквесты. Исследователи полагают, что более 70 тысяч проектов получат исправление в ближайшие несколько недель, но достичь 100%-ного охвата может быть проблематично.
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
10+ сертификаций Coursera, которые могут изменить вашу карьеру
Бюджетный способ прокачать навыки и повысить зарплату — это профессиональный сертификат от Google, IBM или крупного зарубежного университета. На Coursera как раз можно найти десятки полезных обучающих программ по машинному обучению, проджект-менеджменту и не только. Собрали 10+ сертификаций, которые будут выигрышно смотреться в резюме как новичка, так и опытного специалиста.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.