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.

Снимки из Pokémon Go превратили в систему навигации для роботов-доставщиков

Когда-то Pokémon Go заставила миллионы людей бродить по улицам в поисках Пикачу, Сквиртла и прочих карманных монстров. Теперь выясняется, что всё это было полезно не только для игроков, но и для будущих роботов. Компания Niantic Spatial решила использовать гигантский массив данных из Pokémon Go для совсем другой задачи — точной навигации роботов в городе.

Речь идёт о снимках городских улиц и ориентиров, которые в течение многих лет собирали игроки по всему миру.

Эти изображения сопровождались очень точными геометками, поэтому со временем у компании накопилась по-настоящему уникальная база данных. По словам Niantic Spatial, модель уже обучена на 30 миллиардах изображений, снятых в городской среде.

На основе этого массива компания создала систему визуального позиционирования, которая умеет определять местоположение с точностью до нескольких сантиметров (по нескольким кадрам зданий и других объектов вокруг). Если говорить проще, ИИ смотрит на окружающую обстановку и понимает, где именно находится устройство или робот.

Первое крупное практическое применение этой технологии уже нашлось. Niantic Spatial заключила партнёрство с Coco Robotics — стартапом, который развозит заказы с помощью небольших роботов. Эти машины размером примерно с дорожный кофр могут везти до восьми больших пицц или несколько пакетов с продуктами.

Для таких роботов точная навигация — вопрос не красоты, а эффективности. В плотной городской застройке GPS часто работает нестабильно: сигнал отражается от зданий, путается под эстакадами и в узких улицах. В результате робот может ошибиться буквально на десятки метров, а в доставке это уже критично.

Именно здесь и пригодилась технология, выросшая из Pokémon Go. Вместо того чтобы полагаться только на спутниковый сигнал, роботы Coco будут дополнительно ориентироваться по изображению окружающего мира. Это должно помочь им точнее подъезжать к точкам выдачи у ресторанов, не мешать прохожим и останавливаться ближе к двери клиента, а не «где-то рядом».

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