Security Lab

Неправомочный доступ в procfs в FreeBSD

Дата публикации:23.08.2001
Дата изменения:17.10.2006
Всего просмотров:1396
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание:

Procfs - процесс файловой системы, который представляет интерфейс файловой системы системной таблице процесса, вместе со связанными данными. Procfs обеспечивает доступ к пространству памяти процессов через синтетический /proc / <pid>/mem файл, подчиненным проверкам управления доступом.

До перемещения системы, контролирующей утилиты (типа ps (8)) чтобы использовать sysctl (8) интерфейс управления, эти утилиты прежде использовали procfs и прямой доступ к памяти ядра, чтобы извлечь информацию процесса, и они выполнялись с setgid kmem привилегиями. Procfs проверяет код для gid kmem привилегии при предоставлении доступа к файлу /proc/<pid>/mem - однако, код, который используется, чтобы позволить доступ только для чтения через kmem группу, неправильный, так как предоставляет доступ для чтения вызывающей программе, в течении открытого дескриптора для файла procfs mem.

Результат этой проблемы - то, что, если процесс первоначально имеет права отладки на второй процесс, то он может сохранить доступ к пространству памяти целевого процесса, даже если целевой процесс модернизировал привилегию на основании выполнения вызова execve() на setgid или setuid процесс. Эта уязвимость может вести к утечке чувствительной информации от таких процессов, которые могли использоваться как основание для дополнительных нападений, приводя к подъему привилегии нападающего.



Файловая система Linprocfs также уязвима к этой проблеме, если поддержка procfs доступна в ядре (статически откомпилированная или динамически загруженная как модуль). Если поддержка procfs - не доступна тогда linprocfs - не уязвим к этой проблеме. Все выпущенные версии FreeBSD 4.x, включая FreeBSD 4.3-release уязвимы к этой проблеме, если файловая система procfs находится в использовании.