TGViewer
Makrushin Makrushin @makrushin · 3.86K subscribers
Post #408 1.48K
Опасные архивы: символические ссылки и уязвимости Zip Slip в Golang

Пока обновлял раздел курса про поиск и эксплуатацию уязвимостей directory traversal, наткнулся на интересное развитие старой уязвимости Zip Slip. Атакующий может загрузить специально сформированный архив (tar, jar, war, cpio, apk, rar, 7z), и если модуль, отвечающий за его распаковку, не проверяет имена файлов, атакующий может выйти за пределы каталога, в который производится распаковка.

Об этой проблеме известно с 2018 года, но уязвимых библиотек по-прежнему много. А вот об интересной особенности процесса распаковки в Golang известно совсем недавно. Запакуем в tar-архив два файла с одинаковым именем:

$ tar -tvf alice.tar
lrw------- 0 0 0 0 1 Jan 1970 rabbit_hole -> /tmp/wonderland
-rw-r--r-- 0 0 0 39 1 Jan 1970 rabbit_hole


Первый файл является символической ссылкой, а второй — текстовым файлом.

Какое поведение мы ожидаем от распаковки? При распаковке файл с символической ссылкой должен быть заменен текстовым файлом.

На самом деле, оказалось, что если распаковка происходит с помощью Golang-функции os.Create(), то содержимое файла заменяется на содержимое символической ссылки. Это значит, что атакующий может создать произвольный файл в любом месте системы.

Причина такого поведения заключается в некорректной обработке символических ссылок в при распаковке tar-архивов. Поэтому защищаем свои ресурсы от “зараженных” архивов. Инструмент для проверки поможет.

*makrushin
  • 🔥 5
  • ⚡ 1
More from @makrushin
  1. Sep 9, 2026Спустился с горы в Красную Поляну, чтобы рассказать про безопасность агентской разработки.
  2. Sep 4, 2026Атакующие модели внутри продуктов для защиты Подсмотрел недавние анонсы крупных глобальных…
  3. Aug 27, 2026Анализ причины действия для защиты ИИ-агентов Интересный подход к защите агентов от prompt…
  4. Aug 21, 2026По мотивам нашего доклада опубликовали статью о поверхности атаки на ИИ-агентов в разработ…
  5. Aug 12, 2026Зашёл в Shodan, чтобы поискать MCP-инструменты. Нашёл. 1699 MCP-серверов оказались доступн…
  6. Jul 27, 2026Объявляю неделю безопасности ИИ-агентов и зову всех на учёбу в школу! В Школе анализа данн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →