Исследователи Edera сообщили о серьезной логической ошибке в заброшенной библиотеке async‑tar и ее форках, включая популярный tokio‑tar. Уязвимость, получившая название TARmageddon и идентификатор CVE‑2025‑62518, позволяет неаутентифицированному атакующему внедрять дополнительные записи в TAR‑архив во время распаковки и тем самым добиваться удаленного выполнения произвольного кода (RCE). Масштаб проблемы осложняется широким распространением форков и зависимостей в экосистеме Rust.
Как работает TARmageddon: рассинхронизация заголовков PAX и ustar
Проблема проявляется при обработке вложенных TAR‑архивов, где присутствуют несовпадающие метаданные в заголовках ustar и PAX extended. Ошибка парсера приводит к десинхронизации: процесс распаковки «перескакивает» в область содержимого файла, ошибочно трактует данные как валидные TAR‑заголовки и начинает распаковывать подготовленные злоумышленником «псевдозаписи».
На практике это дает атакующему возможность незаметно подмешать файлы в поток распаковки, перезаписать важные артефакты и конфигурации, внедрить скрипты и конфиги сборки и, как следствие, получить контроль над окружением. Особенно опасно это в контексте цепочек поставок, где распаковка артефактов происходит автоматически в системах CI/CD и билдах.
Затронутые проекты и масштаб распространения
Помимо исходной async‑tar, уязвимым оказался и ее наиболее известный форк tokio‑tar, который, по оценке исследователей, имеет свыше 7 млн скачиваний на crates.io и также не поддерживается. Активные форки уже получили исправления, но из‑за большого числа производных проектов оценить действительный «радиус поражения» сложно.
Среди известных затронутых экосистем и инструментов упоминаются Binstalk, менеджер Python‑пакетов uv от Astral, платформа wasmCloud, liboxen и библиотека testcontainers. Часть команд уже заявила о планах миграции на исправленные ветки или отказе от уязвимой зависимости, однако ряд проектов пока не ответили и теоретически могут оставаться под угрозой.
Координация исправлений и состояние форков
По словам Edera, связаться с мейнтейнерами оказалось сложно: у проектов не было SECURITY.md и публичных контактов, из‑за чего пришлось привлекать сообщество и использовать социальную инженерии для эскалации вопроса. В результате патчи выпущены для async‑tar и astral‑tokio‑tar, однако наиболее распространенный tokio‑tar остается неисправленным.
Edera рекомендует удалять уязвимую зависимость tokio‑tar и переходить на поддерживаемые альтернативы. В качестве безопасной замены указывается astral‑tokio‑tar (ветка форков: edera‑dev/tokio‑tar → vorot93/tokio‑tar → dignifiedquire/async‑tar → alexcrichton/tar‑rs). Собственный форк Edera (krata‑tokio‑tar) команда архивирует, чтобы не усугублять фрагментацию экосистемы.
Риски для цепочек поставок и CI/CD
Точки риска включают автоматическое извлечение архивов из внешних реестров, кэшей и артефактов сборки. Неконтролируемая распаковка потенциально позволяет злоумышленнику подменить конфигурации, скрипты и бинарные зависимости, что приводит к компрометации сборочных агентов и дальнейшему распространению вредоносного кода по цепочке поставок.
Рекомендации по защите и проверке
Что делать разработчикам
Мигрируйте с tokio‑tar на исправленные форки (например, astral‑tokio‑tar) либо полностью удалите уязвимую зависимость. Зафиксируйте версии (pin) и обновите lock‑файлы.
Аудируйте зависимости с помощью SCA‑инструментов и SBOM, добавьте правила блокировки известных уязвимых пакетов и веток.
Безопасная распаковка: не распаковывайте недоверенные архивы автоматически; выполняйте извлечение в изолированных директориях и контейнерах, с минимальными привилегиями и отключенными исполняемыми флагами по умолчанию.
Контроль целостности: проверяйте подписи и хэши артефактов, используйте политики приемки (allowlist), ограничивайте следование симлинкам и вложенные архивы.
Что делать командам безопасности
Инвентаризация: проверьте кодовую базу и артефакты на наличие async‑tar/tokio‑tar, включая транзитивные зависимости. Мониторьте новые форки и зеркала.
Политики CI/CD: внедрите обязательные проверки целостности, запуск распаковки в sandbox, логирование и оповещение при аномалиях распаковки (например, появление неожиданных записей).
Реагирование: при обнаружении следов эксплуатации — ротация секретов, переcборка артефактов из доверенных источников, форензика билд‑агентов.
TARmageddon подчеркивает системную проблему: критически важные, но заброшенные библиотеки остаются в цепочках поставок годами. Чтобы снизить риск RCE‑инцидентов, обновите зависимости до пропатченных форков, отключите автоматическую распаковку недоверенных архивов и настройте строгие политики целостности в CI/CD. Чем раньше будет выполнен переход на поддерживаемые решения, тем ниже вероятность компрометации и простоев.