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

Первоисточник: https://www.freebsd.org/security/advisories/FreeBSD-SA-17:08.ptrace.asc
Тема: Утечка данных ядра через ptrace(PT_LWPINFO)
Категория: core
Модуль: ptrace
Анонсировано: 15.11.2017
Благодарности: Ilja van Sprundel
Влияет на: все поддерживаемые версии FreeBSD.
Исправлено в: 2017-11-10 12:28:43 UTC (stable/11, 11.1-STABLE)
2017-11-15 22:39:41 UTC (releng/11.1, 11.1-RELEASE-p4)
2017-11-15 22:40:15 UTC (releng/11.0, 11.0-RELEASE-p15)
2017-11-10 12:31:58 UTC (stable/10, 10.4-STABLE)
2017-11-15 22:40:32 UTC (releng/10.4, 10.4-RELEASE-p3)
2017-11-15 22:40:46 UTC (releng/10.3, 10.3-RELEASE-p24)
CVE ID: CVE-2017-1086
 
Для получения общей информации о рекомендациях по безопасности FreeBSD, посетите https://security.FreeBSD.org/.
 
I. Общая информация
 
Системный вызов ptrace дает возможность отладчику контролировать выполнение целевого процесса и получать необходимую информацию о его состоянии. Структура struct ptrace_lwpinfo передает одной из дочерних команд ptrace информацию об остановленном потоке (легкий процесс или LWP).
 
II. Описание проблемы
 
Не вся информация в struct ptrace_lwpinfo имеет актуальное состоянию для потока, и ядро не заполняет ненужные байты или короткие строки. Поскольку структура, заполненная ядром, размещается в стеке ядра и копируется в пользовательское пространство, возможна утечка информации из потока в стеке ядра через отладчик
 
III. Влияние
 
Некоторые байты из потока, использующего вызов ptrace (PT_LWPINFO) в стеке ядра, можно наблюдать в пользовательском пространстве.
 
IV. Временное решение
 
Временных решений нет.
 
V. Решение
 
Выполните одно из следующих действий:
 
1) Обновите вашу систему до поддерживаемой FreeBSD stable или release / releng версии, выпущенной датой после устранения уязвимости.
 
Перезагрузите систему.
 
2) Обновите систему бинарными патчами:
 
Системы с RELEASE версией FreeBSD на i386 и amd64 платформах могут быть обновлены утилитой freebsd-update:

# freebsd-update fetch
# freebsd-update install

 

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

# fetch https://security.FreeBSD.org/patches/SA-17:08/ptrace.patch
# fetch https://security.FreeBSD.org/patches/SA-17:08/ptrace.patch.asc
# gpg --verify ptrace.patch.asc

 

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

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

 

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

Branch/path                                                      Revision
- -------------------------------------------------------------------------
stable/10/                                                        r325643
releng/10.3/                                                      r325871
releng/10.4/                                                      r325870
stable/11/                                                        r325642
releng/11.0/                                                      r325869
releng/11.1/                                                      r325868
- -------------------------------------------------------------------------

 

Чтобы узнать, какие файлы были изменены в конкретной ревизии, запустите на машине с установленным 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-2017-1086

 

Новости

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