Уязвимость в GNU tar позволяет перезаписать сторонние файлы

Уязвимость в GNU tar позволяет перезаписать сторонние файлы

Уязвимость в GNU tar позволяет перезаписать сторонние файлы

В утилите GNU tar выявлена уязвимость (CVE-2016-6321), позволяющая при раскрытии архива осуществить запись вне целевого пути, заданного в командной строке. Например, запустив распаковку одного файла, может быть переписан другой файл или осуществлено раскрытие файлов в обход заданным маскам и исключениям.

Подготовив специальным образом архив атакующий может добиться записи сторонних файлов при распаковке, например, подменить ключ входа по SSH или сценарии автозапуска bash при распаковке в домашнюю директорию. В случае если архив распаковывается пользователем root возможно организовать перезапись системных файлов и получить полномочия суперпользователя (например, переписав crontab). Интересно, что информация о проблеме была отправлена сопровождающему GNU tar ещё в марте, но из-за специфичных условий её проявления сопровождающий не посчитал указанную проблему уязвимостью, поэтому проблема на момент публикации эксплоита остаётся неисправленной. Представители Red Hat признали проблему и присвоили ей средний (moderate) уровень опасности, пишет opennet.ru.

Уязвимость связана с некорректным вырезанием символов ".." из путей в архиве - при наличии ".." перед распаковкой осуществляется удаление части пути, предшествующей "..", но проверка соответствия маскам осуществляется по исходному варианту. Например, подготовив архив с файлом "etc/motd/../etc/shadow", атакующий может переписать etc/shadow в случае попытки раскрытия файла etc/motd (tar удалит "etc/motd/../", но оставит "etc/shadow", который будет обработан, несмотря на то, что явно инициирована распаковка только etc/motd).

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

Claude помог хакерам пробраться во внутренний репозиторий OpenAI

Команда белых хакеров превратила загрузку одной картинки на официальном форуме OpenAI в пропуск к корпоративным аккаунтам ChatGPT, Codex и закрытому репозиторию компании. Взлом занял менее трёх суток, а значительную часть работы помог выполнить ИИ.

Как рассказали исследователи HackTron AI, точкой входа стал форум community.openai.com на платформе Discourse.

При загрузке изображений он использовал ImageMagick и библиотеку libheif, в которой обнаружилось переполнение буфера. Специально подготовленный HEIC-файл позволил удалённо выполнить код и получить административный доступ к форуму.

На этом цепочка только разогрелась. Исследователи воспользовались отдельной ошибкой в системе единого входа OpenAI: токены аутентификации форума подходили для ChatGPT и Codex. Среди них оказались токены сотрудников компании.

Через скомпрометированный аккаунт разработчика команда добралась до внутреннего монорепозитория OpenAI на GitHub. Чтобы доказать доступ и не устраивать экскурсию по чужому коду, специалисты создали безопасный тестовый pull request, после чего остановили проверку и сообщили о проблеме.

В роли помощников выступили модели Claude Opus 4.8 и Opus 5. Первая исследовала уязвимость, но споткнулась о защитные механизмы. Более новая версия, по данным HackTron, помогла собрать рабочий эксплойт за несколько часов.

OpenAI устранила уязвимость в своей инфраструктуре примерно через 14 часов после отчёта, ограничила права токенов Community и отозвала затронутые сессии. Discourse отдельно исправила проблему обработки изображений.

За находку OpenAI выплатила исследователям $6500. Скромная сумма для цепочки, которая началась с картинки на форуме, а закончилась pull request во внутреннем репозитории.

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