Новости · Безопасность файлов

libarchive 3.8.9 залатал дыры в чтении ZIP, RAR и ISO

Вы наверняка ни разу не запускали libarchive вручную — но именно эта библиотека распаковывает архивы внутри десятков привычных программ, от файловых менеджеров Linux до консольного tar в macOS. 28 июля 2026 вышла версия 3.8.9 с большим набором исправлений безопасности в разборе разных форматов. Обновление касается не рядовых пользователей напрямую, а разработчиков и системных администраторов — но затрагивает всех, кто открывает чужие архивы.

30 июля 2026 Редакция LoadFile Чтение 6 мин
Слои сжатых данных ZIP, TAR и ISO проходят через защитный контур — обновление безопасности libarchive 3.8.9

Коротко: 28 июля 2026 вышла libarchive 3.8.9 — открытая библиотека распаковки архивов, встроенная в bsdtar, файловые менеджеры Linux и множество утилит. Релиз закрывает уязвимости в разборе ZIP, RAR5, ISO9660, XAR, 7z и tar, а также усиливает защиту от подмены путей через симлинки. Обновление важно прежде всего для разработчиков и дистрибутивов — на пользовательские устройства оно приходит вместе с системными апдейтами.

Что произошло

28 июля 2026 года проект libarchive опубликовал релиз 3.8.9. Сами разработчики описывают его как «security, bugfix and minor feature release» — то есть выпуск с исправлениями безопасности, устранением ошибок и небольшими улучшениями. Из заметных нововведений — портирование утилиты unzip на Windows, но основная часть изменений касается именно безопасности разбора архивов.

Это уже третий подряд security-релиз за короткий срок: версия 3.8.7 вышла в апреле, 3.8.8 — в июне, 3.8.9 — в конце июля 2026 года. Такая частота говорит о том, что исследователи активно ищут ошибки именно в парсерах архивных форматов — и находят их. Вслед за выходом релиза обновление быстро подхватили дистрибутивы: пакеты libarchive 3.8.9 уже разошлись по репозиториям Slackware, Debian и другим.

Что такое libarchive и почему это важно

libarchive — это открытая C-библиотека для чтения и записи архивов и образов. Именно она стоит «под капотом» у распространённых инструментов: на её основе работают консольные bsdtar и bsdcpio, она встроена в файловые менеджеры и «Менеджер архивов» многих Linux-дистрибутивов, а также в системный tar в macOS и в ряд пакетных менеджеров.

Ключевая деталь — широта форматов. Одна библиотека умеет разбирать ZIP, 7-Zip, RAR и RAR5, TAR, CPIO, CAB, ISO9660, XAR, LHA, WARC и множество фильтров сжатия (gzip, bzip2, xz, zstd, lz4). А значит, ошибка в любом из этих парсеров автоматически становится проблемой сразу для всех программ, которые используют libarchive. Пользователь при этом даже не знает, что «под кнопкой распаковки» работает именно она.

!
Почему это опаснее, чем кажется

Уязвимость в библиотеке-«прокладке» тиражируется на все зависимые приложения. Достаточно открыть один специально сформированный архив в файловом менеджере — и уязвимый парсер отработает без вашего ведома. Поэтому библиотечные патчи важны не меньше, чем обновления самих архиваторов.

Какие уязвимости закрыли в 3.8.9

Полный список правок ведётся в ChangeLog проекта. Разработчики не присвоили большинству исправлений публичные идентификаторы CVE — это типично для превентивного hardening, когда ошибку находят и чинят до появления рабочего эксплойта. Ниже — основные изменения по безопасности из истории коммитов между версиями 3.8.8 и 3.8.9:

  • ZIP / unzip — защита от path traversal. Утилита unzip теперь отклоняет симлинки, ведущие за пределы папки распаковки, а также «голые» .. и завершающие /.. в путях внутри архива. Это классический вектор атаки, когда архив пытается записать файл поверх системного.
  • ISO9660 — чтение за пределами буфера. Исправлено out-of-bounds чтение в разборе расширений Rock Ridge (запись ZF) на укороченной записи образа диска.
  • XAR — переполнение при разборе. Устранены выходы за границы памяти при декодировании base64 нечётной длины и при разборе числовых полей формата XAR.
  • RAR5 — контроль размера. Теперь библиотека отклоняет потоки, размер которых превышает заявленный при распаковке, — защита от искажённых архивов.
  • 7-Zip — целые числа и границы. Улучшена обработка целочисленных значений и проверки границ, в том числе для самораспаковывающихся (SFX) архивов.
  • TAR и другие форматы. Исправлены переполнение поля имени группы в GNU tar, целочисленное переполнение в mtree на 32-битных системах, обработка ошибок в CAB и разбор пустых расширенных заголовков pax.
  • Windows — симлинки. Закрыт ряд проблем с обработкой символических ссылок и обход защиты через симлинки в Windows-порте.

Большинство этих ошибок в худшем случае приводит к аварийному завершению программы (отказ в обслуживании) или чтению чужих участков памяти; часть — потенциально к записи за пределы буфера. Общий знаменатель один: всё срабатывает при обработке недоверенного, специально сформированного архива.

Что это значит для работы с файлами

Прямого действия от обычного пользователя релиз не требует — libarchive обновляется не отдельно, а вместе с системными пакетами. Практический вывод другой: сам факт «просто открыть архив» не является безобидным. Разбор контейнера — это выполнение кода парсера над данными, которые прислал кто-то посторонний, и ошибка в этом коде превращает архив в вектор атаки.

Отсюда две привычки, которые стоит закрепить. Первая — своевременно ставить обновления системы: библиотечные патчи, как этот, приходят именно через них. Вторая — не открывать архивы из непроверенных источников не глядя. Если работаете с этими форматами, освежить матчасть помогут наши разборы: чем открыть RAR, чем открыть 7z и чем открыть ISO. А общие правила безопасной работы с загрузками собраны в разделе безопасность файлов.

Что делать прямо сейчас

  1. Обновите систему. На Linux — накатите свежие пакеты (libarchive, bsdtar) через штатный менеджер обновлений. На macOS и Windows библиотека обновляется вместе с системными и программными апдейтами.
  2. Разработчикам, которые встраивают libarchive в свои сборки, стоит обновить зависимость до 3.8.9 и пересобрать проекты.
  3. Не распаковывайте архивы и образы дисков из недоверенных источников. Присланный файл вызывает сомнения — предварительно проверьте его на вирусы.
  4. Помните про подмену расширения. Прежде чем открывать вложение, можно определить реальный формат файла по сигнатуре.

Обновление бесплатно и не меняет привычные инструменты — это тихая, но важная заплатка на уровне, о котором большинство пользователей даже не задумывается.

Источники

Читайте также