Специалисты Edera обнаружили уязвимость CVE-2025-62518 в библиотеке Rust. Критическая ошибка имеет высокий уровень опасности – 8.1 и может привести к удаленному выполнению кода.
Уязвимость получила название TARmageddon, распространена в библиотеке async-tar и ее ответствлениях, например, в tokio-tar. Она влияет на масштабные и часто применяемые проекты, среди которых uv, testcontainers и wasmCloud. Поскольку библиотека tokio-tar используется повсеместно и в разных вариантах, трудно заранее оценить масштабы влияния данной ошибки на всю экосистему. Активные копии проектов кроме tokio-tar своевременно исправлены.
TARmageddon вызвана несогласованностью обработки, позволяющей нарушителю внедрить лишние элементы в распакованный TAR-архив. Проблема проявляется при работе с вложенными TAR-файлами, когда существует расхождение между информацией в расширённых заголовках формата PAX и стандартными заголовками ustar.
Причины возникновения проблемы заключаются в следующем:
- Файл включает два типа заголовков: PAX и ustar.
- Заголовок PAX корректно отображает реальный объём данных.
- В заголовке ustar некорректно установлен нулевой размер.
- Парсер токио-TAR неверно обрабатывает границы записей, полагаясь на значение размера из заголовка ustar (0 байт), игнорируя правильное значение из заголовка PAX (X байт).
В результате файл не пропускается должным образом, поскольку позиция смещается на 0 байт, вследствие чего парсер сразу сталкивается с правильным заголовком следующего уровня вложенности внутри текущего архива. Далее он ошибочно трактует внутренние заголовки как части основного архива. Подробнее на схемах:
Последствия включают:
- Возможность атаки путём перезаписи существующих файлов в директориях при распаковке.
- Опасность компрометации процессов сборки и управления пакетами.
- Обман проверок безопасности путем обхода спецификаций BOM.
Сценарии:
1. Атака на инфраструктуру сборки Python
Цель - взлом менеджеров пакетов Python, применяющих библиотеку tokio-tar (например, uv). Атакующий публикует заражённый пакет в репозиторий PyPI. Внешне архив выглядит нормальным благодаря правильному файлу pyproject.toml, однако скрыт внутренний вложенный TAR-архив, содержащий вредоносный код. При установке такого пакета вредоносный файл замещает оригинальный, вызывая выполнение произвольного кода на машинах разработчиков и серверах CI/CD.
2. Подмена содержимого образов контейнеров
Цель - атака на инструменты тестирования контейнеров (например, testcontainers). Тестовые среды, анализирующие содержимое слоев образов, подвергаются риску, так как процесс распаковки архива допускает обработку вложений TAR. Внутренний архив содержит скрытые файлы, способные заменить исходные, позволяя атакующему захватить контроль над средой тестов и повлиять на безопасность поставки ПО.
3. Обход проверки BOM
Цель - обойти механизмы верификации безопасности в любых системах, имеющих раздельные этапы «сканирование/одобрение» и «распаковка/развёртывание». Безопасностный сканер проверяет внешние чистые TAR-архивы и одобряет указанные в манифесте файлы. Но при извлечении архива посредством уязвимой библиотеки извлекаются дополнительные незадокументированные файлы из внутреннего архива, минуя защиту и нарушая политику безопасности организации.
Мы внедряем системы информационной безопасности в Свердловской области и Севастополе!
Благодаря многолетнему опыту и команде экспертов, знаем, что важно для IT-инфраструктуры и как защититься от киберугроз во всех сферах деятельности.
+7 (343) 222-13-32 — Екатеринбург
+7 (978) 214 29 87 — Севастополь
Благодаря многолетнему опыту и команде экспертов, знаем, что важно для IT-инфраструктуры и как защититься от киберугроз во всех сферах деятельности.
+7 (343) 222-13-32 — Екатеринбург
+7 (978) 214 29 87 — Севастополь