Первоисточник: https://www.freebsd.org/security/advisories/FreeBSD-SA-16:33.openssh.asc
Тема: Уязвимость OpenSSH к удаленной DoS атаке.
Категория: contrib
Модуль: OpenSSH
Анонсировано: 02.11.2016
Влияет на: все поддерживаемые версии FreeBSD.
Исправлено в: 2016-11-02 06:56:35 UTC (stable/11, 11.0-STABLE)
2016-11-02 07:23:19 UTC (releng/11.0, 11.0-RELEASE-p3)
2016-11-02 06:58:47 UTC (stable/10, 10.3-STABLE)
2016-11-02 07:23:36 UTC (releng/10.3, 10.3-RELEASE-p12)
CVE ID: CVE-2016-8858
Для получения общей информации о рекомендациях по безопасности FreeBSD, посетите https://security.FreeBSD.org/.
I. Общая информация
OpenSSH это набор утилит для реализации протокола SSH, обеспечивающий шифрование и проверку подлинности на транспортном уровне для различных сервисов, включая удаленный доступ к оболочке.
В процессе взаимной идентификации по SSH протоколу, клиент и сервер обмениваются поддерживаемыми типами шифрования, имитовставками и алгоритмами сжатия, а также другой информацией, чтобы договориться относительно алгоритмов и начать обмен ключами с сообщения SSH_MSG_KEXINIT.
II. Описание проблемы
При обработке сообщения SSH_MSG_KEXINIT, сервер может выделить до нескольких сотен мегабайт памяти на каждое соединение, до того, как произойдет аутентификация.
III. Влияние
Злоумышленник удаленно может вызвать на сервере SSH выделение чрезмерного количества памяти. Обратите внимание, что параметр MaxStartups конфигурационного файла sshd_config в FreeBSD, при правильной настройке, может ограничить эффективность этой атаки.
IV. Временное решение
Временных решений нет, однако системы, не использующие sshd не подвержены этой уязвимости.
V. Решение
Выполните одно из следующих действий:
1) Обновите вашу систему до поддерживаемой FreeBSD stable или release / releng версии, выпущенной датой после устранения уязвимости.
Сервис sshd должен быть перезапущен после обновления. Перезагрузка рекомендуется, но не обязательна.
2) Обновите систему бинарными патчами:
Системы с RELEASE версией FreeBSD на i386 и amd64 платформах могут быть обновлены утилитой freebsd-update.
# freebsd-update fetch # freebsd-update install
Сервис sshd должен быть перезапущен после обновления. Перезагрузка рекомендуется, но не обязательна.
3) Обновите систему при помощи исходного кода патча:
Ниже указанные патчи будут добавлены в релизные ветки FreeBSD.
а) Загрузите соответствующий патч, используя ниже приведенные ссылки и проверьте PGP подпись, используя вашу утилиту PGP.
# fetch https://security.FreeBSD.org/patches/SA-16:33/openssh.patch # fetch https://security.FreeBSD.org/patches/SA-16:33/openssh.patch.asc # gpg --verify openssh.patch.asc
b) Примените патч, используя следующие команды под пользователем root:
# cd /usr/src # patch < /path/to/patch
с) Перекомпилируйте операционную систему, используя buildworld и installworld, как описанно в https://www.FreeBSD.org/handbook/makeworld.html.
Сервис sshd должен быть перезапущен после обновления. Перезагрузка рекомендуется, но не обязательна.
VI. Сведения об исправлении
Список ниже содержит номера ревизий каждой из уязвимых ветвей FreeBSD.
Ветвь Ревизия - ------------------------------------------------------------------------- stable/10/ r308199 releng/10.3/ r308203 stable/11/ r308198 releng/11.0/ r308202 - -------------------------------------------------------------------------
Чтобы узнать, какие файлы были изменены в конкретной ревизии, запустите на машине с установленным Subversion указанную ниже команду, заменив NNNNNN на номер ревизии.
# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
Или посетите следующий URL, заменив NNNNNN на номер ревизии:
URL: https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN
VII. Рекомендации
http://seclists.org/oss-sec/2016/q4/195
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8858