Security Lab

Приложения, использующие libkvm, могут раскрыть чувствительную информацию

Дата публикации:19.09.2002
Всего просмотров:1318
Опасность:
Средняя
Наличие исправления: Да
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Локальная
Воздействие: Повышение привилегий
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: FreeBSD 4.x
Описание: kvm (3) библиотека предоставляет единый интерфейс, для того, чтобы обратиться к виртуальной памяти ядра, включая существующую систему и дамп аварийного отказа. Доступ к системе осуществляется через /dev/mem и /dev/kmem.

kvm (3) библиотека обеспечивает однородный интерфейс для того, чтобы обратиться к ядерным виртуальным отображениям памяти, включая оперативные системы и дампы аварийного отказа. Обратитесь к оперативным системам - через/dev/mem и/dev/kmem. Функция kvm_openfiles (3) открывает специальные файлы устройства /dev/mem и /dev/kmem, и возвращает непрозрачный идентификатор (opaque handle), который нужно передать к другим библиотечным функциям.

Приложения, которые хотят получить системную информацию, типа использования swap, виртуальной памяти, центрального процессора и т.д, могут использовать библиотеку kvm (3), чтобы читать непосредственно память ядра и собирать эту информацию. Такими приложениями типично должен быть выполнен set-group-ID kmem так, чтобы запрос к kvm_openfiles (3) мог обратиться к /dev/mem и /dev/kmem.

Если приложение тогда использует exec (2), чтобы запустить другое приложение, новое приложение унаследует доступ к открытым файловым дескрипторам к/dev/mem и/dev/kmem. Чтобы это не произошло, обычно дескрипторы файлов отмечают как close-on-exec, но так как идентификатор, возвращенный kvm_openfiles (3) непрозрачен, нет никакого прямого пути для приложения, чтобы определить, какие дескрипторы файла были открыты на библиотеку. В результате, вызываемые программы могут получить доступ к этим дескрипторам.

Уязвимость обнаружена в FreeBSD 4.2-4.6