В конце августа 2025 года сиэтлская компания по кибербезопасности Edera обнаружила уязвимость высокой степени опасности, получившую кодовое название TARmageddon. Проблеме присвоен идентификатор CVE-2025-62518 и оценка 8.1 по шкале CVSS. Уязвимость затрагивает популярную библиотеку Rust

Основной риск заключается в возможности перезаписи критически важных файлов на целевой системе. Злоумышленник может использовать уязвимость для замены конфигурационных файлов или перехвата бэкэндов сборки во время установки программного обеспечения. Среди известных проектов, затронутых этой проблемой, числятся
Ситуация усугубляется статусом одного из ключевых затронутых форков — библиотеки
Техническая причина уязвимости кроется в логической ошибке, связанной с несогласованной обработкой границ данных в TAR-архивах. Проблема возникает, когда в архиве одновременно используются заголовки PAX (portable archive interchange) и ustar. Заголовок PAX корректно указывает размер файла, в то время как заголовок ustar в том же файле содержит неверный размер, равный нулю.
Механизм эксплуатации выглядит следующим образом: при обработке такого специально созданного архива парсер сначала считывает размер из заголовка ustar, который равен нулю. В результате он продвигает указатель в потоке данных на 0 байт, не пропуская реальное содержимое файла. Сразу после этого парсер начинает читать данные с той же позиции, но теперь он интерпретирует их как новый легитимный TAR-архив, который злоумышленник вложил в начало содержимого файла.
Эта техника позволяет злоумышленнику «контрабандой» проносить вложенные архивы внутри внешне безопасного файла. Парсер ошибочно воспринимает заголовки скрытого внутреннего архива как легитимные записи внешнего, что приводит к извлечению вредоносных файлов, способных перезаписать существующие на диске.
Гипотетический сценарий атаки может быть реализован через репозиторий PyPI (Python Package Index). Злоумышленник создает вредоносный пакет со специально подготовленным TAR-архивом. Внешний архив содержит легитимный файл
Для пользователей
Данный инцидент подчеркивает важный аспект безопасности программного обеспечения. TARmageddon является логической ошибкой, а не проблемой безопасности памяти, такой как переполнение буфера или использование после освобождения. Гарантии безопасности языка Rust эффективно предотвращают ошибки памяти, но не могут автоматически защитить от логических просчетов в коде. Разработчикам необходимо сохранять бдительность в отношении всех классов уязвимостей, независимо от используемого языка программирования.
async-tar и ее производные, открывая возможность для атак с удаленным выполнением кода (RCE). 
Изображение носит иллюстративный характер
Основной риск заключается в возможности перезаписи критически важных файлов на целевой системе. Злоумышленник может использовать уязвимость для замены конфигурационных файлов или перехвата бэкэндов сборки во время установки программного обеспечения. Среди известных проектов, затронутых этой проблемой, числятся
testcontainers и wasmCloud. Ситуация усугубляется статусом одного из ключевых затронутых форков — библиотеки
tokio-tar. Этот пакет, использующий среду выполнения Tokio и насчитывающий тысячи загрузок через репозиторий crates.io, является заброшенным ПО («abandonware»). Его последнее обновление датировано 15 июля 2023 года, что делает выпуск патча для него невозможным и вынуждает пользователей искать альтернативы. Техническая причина уязвимости кроется в логической ошибке, связанной с несогласованной обработкой границ данных в TAR-архивах. Проблема возникает, когда в архиве одновременно используются заголовки PAX (portable archive interchange) и ustar. Заголовок PAX корректно указывает размер файла, в то время как заголовок ustar в том же файле содержит неверный размер, равный нулю.
Механизм эксплуатации выглядит следующим образом: при обработке такого специально созданного архива парсер сначала считывает размер из заголовка ustar, который равен нулю. В результате он продвигает указатель в потоке данных на 0 байт, не пропуская реальное содержимое файла. Сразу после этого парсер начинает читать данные с той же позиции, но теперь он интерпретирует их как новый легитимный TAR-архив, который злоумышленник вложил в начало содержимого файла.
Эта техника позволяет злоумышленнику «контрабандой» проносить вложенные архивы внутри внешне безопасного файла. Парсер ошибочно воспринимает заголовки скрытого внутреннего архива как легитимные записи внешнего, что приводит к извлечению вредоносных файлов, способных перезаписать существующие на диске.
Гипотетический сценарий атаки может быть реализован через репозиторий PyPI (Python Package Index). Злоумышленник создает вредоносный пакет со специально подготовленным TAR-архивом. Внешний архив содержит легитимный файл
pyproject.toml, не вызывающий подозрений. Однако внутри него скрыт второй архив с вредоносной версией pyproject.toml, настроенной на перехват механизма сборки пакета. При установке такого пакета уязвимость активируется, вредоносный файл перезаписывает легитимный, и механизм сборки выполняет произвольный код на машине жертвы. Для пользователей
tokio-tar единственным решением является миграция на альтернативную библиотеку, так как исправление для заброшенного пакета выпущено не будет. Разработчик Astral Уильям Вудрафф выпустил исправленную версию рекомендованной альтернативы — astral-tokio-tar. Патч, устраняющий уязвимость, включен в версию 0.5.6. Все версии astral-tokio-tar до 0.5.6 остаются уязвимыми. Данный инцидент подчеркивает важный аспект безопасности программного обеспечения. TARmageddon является логической ошибкой, а не проблемой безопасности памяти, такой как переполнение буфера или использование после освобождения. Гарантии безопасности языка Rust эффективно предотвращают ошибки памяти, но не могут автоматически защитить от логических просчетов в коде. Разработчикам необходимо сохранять бдительность в отношении всех классов уязвимостей, независимо от используемого языка программирования.