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

Первоисточник: https://www.freebsd.org/security/advisories/FreeBSD-SA-16:38.bhyve.asc
 
Тема: virtual machine escape уязвимость в bhyve
Категория: ядро
Модуль: bhyve
Анонсировано: 06.12.2016
Благодарности: Felix Wilhelm
Влияет: FreeBSD 10.x, FreeBSD 11.0
Исправлено: 2016-12-06 18:54:43 UTC (stable/11, 11.0-STABLE)
2016-12-06 18:49:38 UTC (releng/11.0, 11.0-RELEASE-p4)
2016-12-06 18:55:01 UTC (stable/10, 10.3-STABLE)
2016-12-06 18:49:48 UTC (releng/10.3, 10.3-RELEASE-p13)
2016-12-06 18:49:54 UTC (releng/10.2, 10.2-RELEASE-p26)
2016-12-06 18:49:59 UTC (releng/10.1, 10.1-RELEASE-p43)
CVE ID: CVE-2016-1889
 
Для получения общей информации о рекомендациях по безопасности FreeBSD, посетите https://security.FreeBSD.org/.
 
I. Общая информация
 
bhyve это гипервизор, который поддерживает работу различных виртуальных машин (гостевых систем).
 
II. Описание проблемы
 
Проверка границ доступа к гостевой системе с более чем 4ГБ памяти путем эмуляции устройств вызывает ошибку типа integer overflow.
 
III. Влияние
 
Злоумышленник внутри гостевой системы, которой выделено более 3ГБ памяти, может изготовить дескрипторы устройств, которые могут дать доступ к динамической памяти процесса bhyve. Поскольку процесс bhyve запущен пользователем root, гостевая система может получить полный контроль над хост-системой, на которой она запущена.
 
IV. Временное решение
 
Временных решений нет, однако системы, не использующие bhyve для виртуализации, не подвержены этой уязвимости. Кроме того, гостевые системы с 3Гб памяти или меньше, также не подвержены уязвимости.
 
V. Решение
 
Обновите вашу систему до поддерживаемой FreeBSD stable или release / releng версии, выпущенной датой после устранения уязвимости.
 
Перезагрузка не требуется. Процесс bhyve на виртуальных машинах, подверженных уязвимости, должен быть перезапущен.
 
Выполните одно из следующих действий:
 
1) Обновите вашу систему до поддерживаемой FreeBSD stable или release / releng версии, выпущенной датой после устранения уязвимости.
 
2) Обновите систему бинарными патчами:
 
Системы с RELEASE версией FreeBSD на amd64 платформах могут быть обновлены утилитой freebsd-update.

# freebsd-update fetch
# freebsd-update install

 

3) Обновите систему при помощи исходного кода патча:
 
Ниже указанные патчи будут добавлены в релизные ветки FreeBSD.
 
а) Загрузите соответствующий патч, используя ниже приведенные ссылки и проверьте PGP подпись, используя вашу утилиту PGP.

[FreeBSD 11.0, FreeBSD 10.3]
# fetch https://security.FreeBSD.org/patches/SA-16:38/bhyve.patch
# fetch https://security.FreeBSD.org/patches/SA-16:38/bhyve.patch.asc
# gpg --verify bhyve.patch.asc

[FreeBSD 10.2, FreeBSD 10.1]
# fetch https://security.FreeBSD.org/patches/SA-16:38/bhyve-10.patch
# fetch https://security.FreeBSD.org/patches/SA-16:38/bhyve-10.patch.asc
# gpg --verify bhyve-10.patch.asc

 

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

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

 

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

Ветвь                                                             Ревизия 
- -------------------------------------------------------------------------
stable/10/                                                        r309648
releng/10.1/                                                      r309636
releng/10.2/                                                      r309635
releng/10.3/                                                      r309634
stable/11/                                                        r309647
releng/11.0/                                                      r309633
- -------------------------------------------------------------------------

 

Чтобы узнать, какие файлы были изменены в конкретной ревизии, запустите на машине с установленным 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://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1889
 

Новости

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