Первоисточник: https://www.freebsd.org/security/advisories/FreeBSD-SA-16:30.portsnap.asc
Тема: несколько уязвимостей portsnap
Категория: ядро
Модуль: portsnap
Анонсировано: 10.10.2016
Влияет на: все поддерживаемые версии FreeBSD
Исправлено в: 2016-09-28 21:33:35 UTC (stable/11, 11.0-STABLE)
2016-09-28 22:04:07 UTC (releng/11.0, 11.0-RELEASE-p1)
2016-10-05 00:33:06 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)
2016-10-05 01:01:10 UTC (stable/9, 9.3-STABLE)
2016-10-10 07:19:16 UTC (releng/9.3, 9.3-RELEASE-p48)
Для получения общей информации о рекомендациях по безопасности FreeBSD посетите https://security.FreeBSD.org/.
I. Общая информация
Утилита Portsnap используется для получения и обновления сжатых снэпшотов «дерева портов» в FreeBSD. Portsnap получает снэпшоты и обновления по HTTP протоколу, а затем криптографически проверяет загруженные файлы.
II. Описание проблемы
Изъян в процессе проверки утилитой portsnap загруженных tar файлов, позволяет включать в них дополнительные файлы и при этом успешно проходить проверку. Затем portsnap может эти файлы использовать и выполнять.
III. Влияние
Злоумышленник, который может провести «атаку через посредника» (англ. Man in the middle (MITM)) в сети во время запуска portsnap, может заставить portsnap выполнять произвольные команды с полномочиями пользователя, который его запустил, обычно это root.
IV. Временное решение
Дерево портов может быть получено не через portsnap, а другими методами, которые описаны в руководстве по FreeBSD.
V. Решение
Portsnap был модифицирован для проверки сжатых файлов внутри файла tar по полному имени, больше не полагаясь при поиске имени файла на логику gunzip. В настоящее время portsnap проверяет, чтобы снэпшоты содержали только ожидаемые файлы.
Обновите вашу систему до поддерживаемой 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.x] # fetch https://security.FreeBSD.org/patches/SA-16:30/portsnap-10.patch # fetch https://security.FreeBSD.org/patches/SA-16:30/portsnap-10.patch.asc # gpg --verify portsnap-10.patch.asc [FreeBSD 9.3] # fetch https://security.FreeBSD.org/patches/SA-16:30/portsnap-9.3.patch # fetch https://security.FreeBSD.org/patches/SA-16:30/portsnap-9.3.patch.asc # gpg --verify portsnap-9.3.patch.asc
b) Примените патч, используя следующие команды под пользователем root:
# cd /usr/src # patch < /path/to/patch
с) Перекомпилируйте операционную систему, используя buildworld и installworld, как описанно в https://www.FreeBSD.org/handbook/makeworld.html.
VI. Сведения об исправлении
Список ниже содержит номера ревизий каждой из уязвимых ветвей FreeBSD.
Ветвь Ревизия - ------------------------------------------------------------------------- stable/9/ r306222 releng/9.3/ r306942 stable/10/ r306215 releng/10.1/ r306941 releng/10.2/ r306941 releng/10.3/ r306941 stable/11/ r306213 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
Оставить комментарий