15-летний Python-баг позволяет выполнить код и затрагивает 350 000 проектов

15-летний Python-баг позволяет выполнить код и затрагивает 350 000 проектов

15-летний Python-баг позволяет выполнить код и затрагивает 350 000 проектов

Уязвимость Python-модуля tarfile за 15 лет никто так и не пропатчил. А меж тем она затрагивает более 350 тысяч репозиториев с открытым исходным кодом и позволяет выполнить произвольный код.

Впервые о проблеме стало известно в 2007 году, ей присвоили идентификатор CVE-2007-4559. Интересно, что никто не стал устранять брешь, единственное — разработчиков просто предупредили о риске.

Брешь затрагивает код, использующий функцию tarfile.extract(). Это классический баг обхода пути (path traversal), позволяющий условному атакующему перезаписывать произвольные файлы.

Удивительно, что за все 15 лет не было сообщений об эксплуатации уязвимости, учитывая, что технические детали были доступны в отчете 2007 года. Тем не менее баг представляет опасность для цепочек поставки софта по моей день.

На оставшуюся дыру обратили внимание специалисты компании Trellix, описывающие ее следующим образом:

«Уязвимость существует из-за того, что код в функции extract в Python-модуле tarfile доверяет информации в объекте TarInfo».

Сообщение на площадке баг-трекера Python гласит, что вопрос был закрыт, поскольку документацию обновили, добавив приписку, что «распаковывать архивы из непроверенных источников может быть опасно».

Проанализировав масштаб проблемы, специалисты Trellix пришли к выводу, что уязвимость затрагивает более 350 тысяч проектов. В отчете исследователей описываются простые шаги, которых достаточно для эксплуатации CVE-2007-4559 в Windows-версии Spyder IDE.

Опасная уязвимость в GNU Wget2 позволяет удалённо перезаписывать файлы

В популярном консольном загрузчике GNU Wget2 обнаружили серьёзную уязвимость, которая позволяет злоумышленникам перезаписывать файлы на компьютере жертвы — без её ведома и согласия. Проблема получила идентификатор CVE-2025-69194 и высокую степень риска — 8,8 балла по CVSS, то есть игнорировать её точно не стоит.

Брешь связана с обработкой Metalink-файлов — это специальные документы, в которых описано сразу несколько источников для скачивания одного и того же файла (зеркала, P2P и так далее).

По идее, Wget2 должен строго контролировать, куда именно сохраняются загружаемые данные. Но, как выяснили исследователи из Apache, на практике с этим есть проблемы.

Из-за ошибки в проверке путей злоумышленник может подготовить вредоносный Metalink-файл с «хитрыми» именами вроде ../. Это классическая уязвимость path traversal: она позволяет выйти за пределы рабочего каталога и записать файл практически в любое место в системе. Достаточно, чтобы пользователь просто обработал такой металинк — и дальше всё происходит без его участия.

Последствия могут быть весьма неприятными. В худшем случае атакующий сможет:

  • перезаписать важные системные или пользовательские файлы и вызвать потерю данных;
  • подменить конфигурации или скрипты и добиться выполнения вредоносного кода;
  • изменить настройки безопасности или файлы аутентификации, создав себе бэкдор.

Да, атака требует взаимодействия с вредоносным файлом, но с учётом последствий риск выглядит более чем реальным — особенно для тех, кто регулярно использует Wget2 в автоматизированных сценариях или CI/CD-пайплайнах.

Если вы работаете с Wget2 и Metalink, сейчас самое время внимательно отнестись к источникам загрузки и следить за выходом обновлений. В этой истории один неосторожный файл может стоить слишком дорого.

RSS: Новости на портале Anti-Malware.ru