Дата публикации: | 19.09.2002 |
Всего просмотров: | 1366 |
Опасность: | Средняя |
Наличие исправления: | Да |
Количество уязвимостей: | 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 |