Бюллетень безопасности FreeBSD-SA-16:31.libarchive (неофициальный перевод)

Первоисточник: https://www.freebsd.org/security/advisories/FreeBSD-SA-16:31.libarchive.asc
 
Тема: несколько уязвимостей libarchive
Категория: ядро
Модуль: portsnap
Анонсировано: 05.10.2016
Влияет на: все поддерживаемые версии FreeBSD
Исправлено в: 2016-09-25 22:02:27 UTC (stable/11, 11.0-STABLE)
2016-09-27 19:36:12 UTC (releng/11.0, 11.0-RELEASE-p1)
2016-09-25 22:04:02 UTC (stable/10, 10.3-STABLE)
2016-10-10 07:18:54 UTC (releng/10.3, 10.3-RELEASE-p10)
2016-10-10 07:18:54 UTC (releng/10.2, 10.2-RELEASE-p23)
2016-10-10 07:18:54 UTC (releng/10.1, 10.1-RELEASE-p40)
 
Для получения общей информации о рекомендациях по безопасности FreeBSD, посетите https://security.FreeBSD.org/.
 
I. Общая информация
 
Библиотека libarchive предоставляет гибкий интерфейс для чтения и записи потоковых архивных файлов, таких как tar и cpio. Эта библиотека стала основой для реализации tar и cpio в FreeBSD, начиная с FreeBSD 5.3.
 
II. Описание проблемы
 
Изъян в обработке библиотекой libarchive символических и жестких ссылок позволяет перезаписывать распакованные файлы вне каталога их распаковки, а также изменять разрешения на каталог за пределами каталога, в который он был распакован.
 
III. Влияние
 
Злоумышленник, который может управлять вводом данных freebsd-update или portsnap в tar, может изменить содержимое файлов или их разрешений, за пределами песочницы, в которой работают эти инструменты обновления.
 
IV. Временное решение
 
Временных решений нет.
 
V. Решение
 
Обновите вашу систему до поддерживаемой FreeBSD stable или release / releng версии, выпущенной датой после устранения уязвимости.
 
Перезагрузка не требуется.
 
Выполните одно из следующих действий:
 
1) Обновите систему бинарными патчами.
 
Системы с RELEASE версией FreeBSD на i386 и amd64 платформах могут быть обновлены утилитой freebsd-update.
 
Этот бюллетень выпущен одновременно с бюллетенем FreeBSD-SA-16:29.bspatch, который содержит специальные инструкции по использованию freebsd-update. Следуя этим инструкциям также будут выполнены обновления безопасности, указанные в бюллетенях FreeBSD-SA-16:29.bspatch, FreeBSD-SA-16:30.portsnap, и FreeBSD-SA-16:31.libarchivee.
 
2) Обновите систему при помощи исходного кода патча:
 
Ниже указанные патчи будут добавлены в релизные ветки FreeBSD.
 
а) Загрузите соответствующий патч, используя ниже приведенные ссылки и проверьте PGP подпись, используя вашу утилиту PGP.

[FreeBSD 10.1]
# fetch https://security.FreeBSD.org/patches/SA-16:31/libarchive-10.1.patch
# fetch https://security.FreeBSD.org/patches/SA-16:31/libarchive-10.1.patch.asc
# gpg --verify libarchive-10.1.patch.asc

[FreeBSD 10.2]
# fetch https://security.FreeBSD.org/patches/SA-16:31/libarchive-10.2.patch
# fetch https://security.FreeBSD.org/patches/SA-16:31/libarchive-10.2.patch.asc
# gpg --verify libarchive-10.2.patch.asc

[FreeBSD 10.3]
# fetch https://security.FreeBSD.org/patches/SA-16:31/libarchive-10.3.patch
# fetch https://security.FreeBSD.org/patches/SA-16:31/libarchive-10.3.patch.asc
# gpg --verify libarchive-10.3.patch.asc

 

b) Примените патч, используя следующие команды под пользователем root:

# cd /usr/src
# patch < /path/to/patch

 

с) Перекомпилируйте операционную систему, используя buildworld и installworld, как описанно в https://www.FreeBSD.org/handbook/makeworld.html.
 
VI. Сведения об исправлении
 
Список ниже содержит номера ревизий каждой из уязвимых ветвей FreeBSD.

Ветвь                                                             Ревизия
- -------------------------------------------------------------------------
stable/10/                                                        r306322
releng/10.1/                                                      r306941
releng/10.2/                                                      r306941
releng/10.3/                                                      r306941
stable/11/                                                        r306321
releng/11.0/                                                      r306379
- -------------------------------------------------------------------------

 

Чтобы узнать, какие файлы были изменены в конкретной ревизии, запустите на машине с установленным Subversion указанную ниже команду, заменив NNNNNN на номер ревизии.

# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base

 

Или посетите следующий URL, заменив NNNNNN на номер ревизии:

URL: https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN

 
VII. Рекомендации
 
https://gist.github.com/anonymous/e48209b03f1dd9625a992717e7b89c4f
https://github.com/libarchive/libarchive/issues/743
 

Новости

Оставить комментарий