Уязвимость в Python, на которую не обращали внимания в течение 15 лет, теперь снова в центре внимания, поскольку она затрагивает более 350 000 репозиториев с открытым исходным кодом и может привести к RCE.
Раскрытая в 2007 году и отмеченная как CVE-2007-4559 ошибка так и не была исправлена. Под нее лишь переделали документацию, предупреждающую разработчиков об возможных рисках в цепочке поставок ПО.
Уязвимость затрагивает пакет tarfile Python и связана с неправильной реализацией функции tarfile.extract(). Она представляет собой проблему обхода пути, которая позволяет злоумышленнику перезаписывать произвольные файлы.
Технические детали CVE-2007-4559 доступны с момента выхода первоначального отчета в августе 2007 года, данных об использовании этой ошибки отсутствуют.
Однако в этом году в ходе расследования инцидента CVE-2007-4559 была повторно обнаружена ресерчерами Trellix Advanced Threat Research, о чем он упомянул в системе отслеживания ошибок Python и получил ответ о закрытии баги документацией.
Он выяснил, что недостаток связан с тем, что код в функции извлечения в модуле tarfile Python явно доверяет информации в объекте TarInfo и объединяет путь, который передается функции извлечения, и имя в объекте TarInfo. В конечном итоге, позволяет злоумышленнику получить доступ к файловой системе.
Анализируя ситуацию, Trellix извлекли набор из 257 репозиториев, которые с большей вероятностью содержат уязвимый код, и вручную проверили 175, выяснив, что 61% репозиториев были уязвимы.
Далее с помощью GitHub они идентифицировали 588 840 уникальных репозиториев, которые включают import tarfile в свой код Python.
Но, что еще более усугубляет проблему: более 350 000 уязвимых репозиториев применяют инструменты машинного обучения (например, GitHub Copilot), распространяя небезопасный код на другие проекты без ведома разработчика.
Trellix описали простой алгоритм эксплуатации CVE-2007-4559 в версии Spyder IDE для Windows.
Показали, что уязвимость можно использовать и в Linux. Им удалось ускорить запись файла и добиться RCE в тесте службы управления ИТ-инфраструктурой Polemarch.
Помимо исследования уязвимости и ее последствий, Trellix выпустили исправления для 11 000 проектов, которые позже они будут добавлены через пулреквесты.
Кроме того, планируется, что более 70 000 проектов также получат исправления в ближайшие несколько недель.
Раскрытая в 2007 году и отмеченная как CVE-2007-4559 ошибка так и не была исправлена. Под нее лишь переделали документацию, предупреждающую разработчиков об возможных рисках в цепочке поставок ПО.
Уязвимость затрагивает пакет tarfile Python и связана с неправильной реализацией функции tarfile.extract(). Она представляет собой проблему обхода пути, которая позволяет злоумышленнику перезаписывать произвольные файлы.
Технические детали CVE-2007-4559 доступны с момента выхода первоначального отчета в августе 2007 года, данных об использовании этой ошибки отсутствуют.
Однако в этом году в ходе расследования инцидента CVE-2007-4559 была повторно обнаружена ресерчерами Trellix Advanced Threat Research, о чем он упомянул в системе отслеживания ошибок Python и получил ответ о закрытии баги документацией.
Он выяснил, что недостаток связан с тем, что код в функции извлечения в модуле tarfile Python явно доверяет информации в объекте TarInfo и объединяет путь, который передается функции извлечения, и имя в объекте TarInfo. В конечном итоге, позволяет злоумышленнику получить доступ к файловой системе.
Анализируя ситуацию, Trellix извлекли набор из 257 репозиториев, которые с большей вероятностью содержат уязвимый код, и вручную проверили 175, выяснив, что 61% репозиториев были уязвимы.
Далее с помощью GitHub они идентифицировали 588 840 уникальных репозиториев, которые включают import tarfile в свой код Python.
Но, что еще более усугубляет проблему: более 350 000 уязвимых репозиториев применяют инструменты машинного обучения (например, GitHub Copilot), распространяя небезопасный код на другие проекты без ведома разработчика.
Trellix описали простой алгоритм эксплуатации CVE-2007-4559 в версии Spyder IDE для Windows.
Показали, что уязвимость можно использовать и в Linux. Им удалось ускорить запись файла и добиться RCE в тесте службы управления ИТ-инфраструктурой Polemarch.
Помимо исследования уязвимости и ее последствий, Trellix выпустили исправления для 11 000 проектов, которые позже они будут добавлены через пулреквесты.
Кроме того, планируется, что более 70 000 проектов также получат исправления в ближайшие несколько недель.