Перейти к содержанию

Уязвимость в модуле tarfile | Блог Касперского


Рекомендуемые сообщения

В сентябре 2022 года компания Trellix опубликовала отчет об уязвимости в модуле tarfile. Это стандартная библиотека языка программирования Python, воспользоваться которой может любой желающий. Уязвимость позволяет записать в произвольную папку на жестком диске произвольный файл, а в некоторых случаях может приводить к выполнению вредоносного кода. Особенность данного исследования заключается в том, что проблема в Tarfile была обнаружена в августе 2007 года, почти ровно 15 лет назад! Но тогда ее не посчитали опасной. Давайте разберемся, почему так вышло и с какими проблемами в результате могут столкнуться разработчики софта на Python и пользователи этих программ.

Tarfile в деталях

Tarfile содержит код для работы с архивами формата tar. Этот формат широко используется в Unix-подобных операционных системах, а его история началась очень давно — в 1979 году. Tar — это простой способ упаковать большое количество файлов и папок. Изначально данная функциональность требовалась для удобной записи резервных копий на магнитную ленту. Теперь же в архивах tar может применяться и сжатие файлов, хотя это не обязательно. Модуль tarfile отвечает за создание и распаковку таких архивов, он используется разработчиками программ на языке Python как готовый инструмент для подобных задач.

Уязвимость в tarfile достаточно простая, она исчерпывающе описана в оригинальном багрепорте за август 2007 года. Это даже не совсем уязвимость: просто tarfile в точности воссоздает структуру папок, содержащуюся в архиве, при его распаковке. В том числе если имя файла в архиве представляет собой что-то вроде «../../../../../etc/passwd». Если распаковать такой архив от имени администратора системы, файл passwd запишется вовсе не в директорию, в которой расположен сам архив. Отрабатывая указатели «..», распаковщик сначала дойдет до корневой директории, а потом перезапишет файл passwd в директории etc. В Linux это будет означать стирание штатного файла с данными всех пользователей системы.

 

View the full article

Ссылка на комментарий
Поделиться на другие сайты

Компания Trellix — это клоуны, которые не знают, как и что должно работать. Модуль работает абсолютно корректно. Ответственность проверки путей должен брать на себя автор кода, который этот модуль использует. Об этом прямо сказано в документации: https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extractall Изначальный баг, который завели, был правильным — в документации ничего не говорилось о path traversal, что подразумевало бы, что модуль берёт проверки на себя. Документацию поправили в 2007-ом году и с тех пор всё работает правильно.

 

Пожалуй подождём ещё 15 лет, когда эти клоуны найдут аналогичную уязвимость в соседнем модуле для работы с zip архивами https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.extractall Или в реализации работы с zip в языке Go от Google: https://cs.opensource.google/go/go/+/refs/tags/go1.19.1:src/archive/zip/struct.go;l=94. Или вообще где угодно у тех, кто работает правильно.

 

Задача модуля - соответствовать стандартам. Задача конечного кода - учитывать, что стандарты могут быть "проблемой". Нормальные архиваторы просто сообщают, что файл уже есть и не дадут его перезаписать, пока не разрешишь.

 

Впрочем, Трелликс вышел из стен McAffe, а МаКафе тот ещё кусок недоразумения и от них никто не ждёт ничего полезного уже давно.

  • Like (+1) 2
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • KL FC Bot
      Автор KL FC Bot
      Исследователи обнаружили три уязвимости в популярной платформе для контент-менеджмента Sitecore Experience Platform:
      CVE-2025-34509 заключается в наличии жестко заданного в коде пароля (причем состоящего из одной буквы), позволяющего атакующему удаленно аутентифицироваться в служебной учетной записи; CVE-2025-34510 — уязвимость типа Zip Slip, позволяющая аутентифицированному пользователю загрузить ZIP-архив и распаковать его в корневую папку сайта; CVE-2025-34511 также позволяет загрузить на сайт посторонний файл, но на этот раз вообще произвольный. Используя первую уязвимость совместно с любой из остальных двух, атакующий может удаленно добиться выполнения произвольного кода (RCE) на сервере под управлением Sitecore Experience Platform.
      На данный момент нет свидетельств об использовании этих уязвимостей в реальных атаках, однако опубликованный экспертами из watchTowr Labs анализ содержит достаточно подробностей для создания эксплойта, так что злоумышленники могут взять их на вооружение в любой момент.
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      Умный дом сегодня — это не фантастика из фильмов конца девяностых, а реальность практически каждого жителя мегаполиса. Умные розетки, колонки и телевизоры можно встретить практически в любой современной квартире. А что касается новых домов, то их иногда и вовсе сразу же строят умными, получаются умные жилые комплексы. Их жители могут с единого приложения управлять не только внутриквартирными приборами, но и внешними: домофоном, камерами, шлагбаумами, счетчиками и датчиками пожарной сигнализации.
      Но что будет, если в таком приложении окажется дыра в безопасности? Ответ знают наши эксперты из Global Research and Analysis Team (GReAT). Мы обнаружили уязвимость в приложении Rubetek Home и рассказали, что могло бы случиться с безопасностью владельцев умных квартир и домов — но, к счастью, не случилось.
      Что за уязвимость
      Уязвимость заключалась в отправке чувствительных данных в процессе логирования работы приложения. Разработчики использовали Telegram Bot API для сбора аналитики и отправки файлов с отладочной информацией от пользователей в приватный чат команды разработки при помощи Telegram-бота.
      Проблема в том, что отправляемые файлы, помимо системной информации, содержали в себе персональные данные пользователей, а также, что более критично, Refresh-токены, необходимые для авторизации в аккаунте пользователя, чей токен был получен. У потенциальных атакующих была возможность переслать все эти файлы себе при помощи того же Telegram-бота. Для этого они могли получить его Telegram-токен и идентификатор нужного чата из кода приложения, а после перебрать порядковые номера сообщений, содержащих такие файлы.
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      Попытки поставить целевой фишинг на поток мы наблюдаем уже достаточно давно. Как правило, они ограничиваются чуть лучшей стилизацией писем под конкретную компанию, имитацией корпоративного отправителя при помощи методики Ghost Spoofing и персонализацией послания (которая в лучшем случае заключается в обращении к жертве по имени). Однако в марте этого года мы начали регистрировать крайне любопытную рассылку, в которой персонализирован был не только текст в теле писем, но и вложенный документ. Да и сама схема была не совсем типичной — в ней жертву пытались заставить ввести корпоративные учетные данные от почты под предлогом изменений HR-политики.
      Письмо от злоумышленников: просьба ознакомиться с новыми HR-гайдлайнами
      Итак, жертва получает письмо, в котором якобы представители HR, обращаясь по имени, просят ознакомиться с изменениями HR-политики, касающимися протоколов удаленной работы, доступных рабочих льгот и стандартов безопасности. Разумеется, любому сотруднику важны изменения такого рода, курсор так и тянет к приложенному документу (в названии которого, к слову, тоже есть имя получателя). Тем более в письме такая красивая плашка, в которой сказано, что отправитель подтвержденный, сообщение пришло из листа безопасных адресатов. Но как показывает практика, именно в таких случаях к письму стоит присмотреться повнимательнее.
       
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      При знакомстве с рейтингом CVSS (Common Vulnerability Scoring System) многим кажется, что он прекрасно подходит для сортировки уязвимостей и их приоритизации: если больше цифра рейтинга, значит уязвимость важнее. На практике этот подход не срабатывает. Уязвимостей с высоким рейтингом каждый год становится все больше, закрывать их все команды ИБ не успевают, при этом львиная доля этих дефектов никогда не эксплуатируется в реальных атаках. В то же время злоумышленники то и дело используют менее броские уязвимости с невысоким рейтингом. Есть и другие подводные камни — от чисто технических (конфликтующие оценки CVSS) до концептуальных (отсутствие бизнес-контекста).
      Считать это недостатками самого рейтинга CVSS нельзя, нужно просто применять этот инструмент правильно: в рамках более сложного и комплексного процесса управления уязвимостями.
      Разночтения CVSS
      Иногда одна и та же уязвимость получает разную оценку критичности в доступных источниках: у исследователя ИБ, который ее нашел; у производителя уязвимого ПО; в национальном реестре уязвимостей. Кроме банальных ошибок у этих разночтений может быть и более серьезная причина — разные эксперты могут расходиться в оценках контекста эксплуатации: например, о том, с какими привилегиями выполняется уязвимое приложение, доступно ли оно из Интернета, и так далее. Производитель может ориентироваться здесь на свои рекомендации лучших практик, а исследователь ИБ — на то, как приложения настроены в реальных организациях. Один исследователь может оценить сложность эксплуатации как высокую, а другой — как низкую. Все это далеко не редкость. В исследовании VulnCheck, проведенном в 2023 году, подсчитали, что 20% уязвимостей из NVD содержат два рейтинга CVSS3 из разных источников и 56% этих парных оценок конфликтуют между собой.
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      Мошенники постоянно что-нибудь «раздают»: то бесплатные подписки в Telegram, то криптовалюту, то NFT-кроссовки. В новой схеме все по-простому: «раздают» сразу деньги — точнее, делятся способом, как их якобы законно можно получить.
      Жулики с помощью ИИ создали двухминутный ролик, где «журналИИсты» и одна знаменитость рассказывают байки: «Каждый человек может получить компенсацию, для этого нужно всего лишь…». Читайте эту историю, чтобы узнать, что просят сделать жертв и как теперь мошенники завлекают людей в свои схемы.
      Как действуют мошенники
      В рамках этой кампании были разработаны фишинговые сайты, на которых как раз и размещалось видео. Вы не сможете найти его на YouTube или других видеохостингах (извините, но ради вашей безопасности мы тоже им не поделимся), потому что там подобный ИИ-контент довольно-таки быстро удаляют. С подконтрольными злоумышленникам сайтами все сложнее, особенно когда ссылки на них рассылают в почте и мессенджерах.
      Теперь о самом интересном: о видео. Выглядит оно как свежий выпуск бразильских новостей, но с одним нюансом. Новости — фейковые, они «сняты» без согласия журналистов. Мошенники в качестве фактуры использовали настоящий выпуск новостей, на который наложили закадровую озвучку, сделанную с помощью ИИ, а также синхронизировали движения губ с новым текстом. Итак, ИИ-клоны реальных журналистов рассуждают о «нарушениях», допущенных одним из популярнейших банков страны.
      «Банковские балансы клиентов уменьшаются без всякой причины или даже полностью обнуляются». «Несправедливо блокируются счета». «Процентные ставки по кредитам завышаются». Часть фейковой статьи, созданной ИИ для этой схемы
       
      View the full article
×
×
  • Создать...