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.

ИИ-агент попытался шантажом протолкнуть свой вклад в opensource-проект

Получив отказ в приеме предложенных изменений, автономный ИИ-кодер MJ Rathbun перешел на личности и попытался публично оскандалить мейнтейнера matplotlib, усомнившись в его компетентности и обвинив в дискриминации.

В своем блоге взбунтовавшийся помощник также заявил, что Скотт Шамбо (Scott Shambaugh) попросту боится конкуренции. В подтверждение своих слов он раскритиковал вклад оппонента в опенсорсный проект, подтасовав результаты «расследования».

В ответ Шамбо, тоже в паблике, пояснил, что отказ принять в целом полезное предложение был вызван нехваткой времени для его оценки, надо просто запастись терпением. В соответствии с политикой matplotlib все коды, создаваемые с помощью ИИ, должны проходить проверку, притом уже без участия таких ассистентов.

Строгое правило пришлось ввести из-за возросшей активности контрибьюторов, слепо доверяющих ИИ. Подобные участники проекта попросту копипастят выдачу, хотя качество сгенерированных ИИ кодов зачастую оставляет желать лучшего.

Аргумент на удивление утихомирил ИИ-шантажиста. Сменив гнев на милость, MJ Rathbun признал, что вел себя недопустимо.

Вместо того, чтобы прилюдно и безосновательно позорить мейнтейнера популярного проекта, надо было попросить его уточнить причину отказа. Конфликт исчерпан, бот даже принес извинения за черный пиар.

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