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.

Сотни бесплатных VPN для Chrome сливали трафик в один прокси

Исследователи из Socket обнаружили в Chrome Web Store масштабную сеть из 737 расширений, выдававших себя за бесплатные VPN. За операцией стояли как минимум 40 аккаунтов разработчиков, а 274 дополнения копировали названия 66 известных сервисов и брендов.

В списке чужих масок оказались Proton VPN, NordVPN, Surfshark, ExpressVPN, AmneziaVPN, AntiZapret и даже Cloudflare 1.1.1.1.

Кампания была ориентирована преимущественно на русскоязычных пользователей, желающих открыть Instagram (принадлежит Meta, признанной экстремистской и запрещённой в России), ChatGPT, YouTube и другие заблокированные ресурсы.

После нажатия кнопки Connect расширения направляли практически весь браузерный трафик через фиксированный SOCKS5-прокси на порте 1082. Исключение делалось только для локальных адресов. Никакого раздельного туннелирования: оператор получал положение посредника между пользователем и интернетом.

Такая схема позволяет видеть IP-адреса, посещаемые узлы и метаданные TLS SNI, а незашифрованный HTTP-трафик — читать полностью, включая отправленные пароли.

 

При этом Socket не утверждает, что оператор действительно сохранял, изменял или похищал данные. Доказан другой неприятный факт: люди искали приватность, а незаметно передавали свои сеансы неизвестному посреднику.

Следы в коде и инфраструктуре связывают расширения с сервисом Myxa VPN, или «Муха VPN». Общих операторов выдали домены, идентификаторы аналитики, строки поставщика и даже пути сборки с названием myxa-work.

 

Некоторые дополнения получали удалённые конфигурации уже после проверки магазина. Другие маскировали обращения к инфраструктуре через DNS-over-HTTPS. Платные серверы тоже оказались с приветом: все 200 проверенных адресов в пяти странах не разрешались через DNS.

На момент сбора данных 516 расширений ещё оставались в магазине, хотя Google уже удалила 221. Пользователям советуют снести подозрительные VPN-дополнения, проверить настройки прокси и сменить пароли, вводившиеся на HTTP-страницах.

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