Security Lab

Целочисленное переполнение буфера в FreeBSD в readv(2) системном вызове

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

Описание: Целочисленное переполнение буфера обнаружено в операционной системе FreeBSD в readv(2) системном вызове. Локальный пользователь может аварийно завершить работу ядра. Локальный пользователь может получить доступ на чтение и запись к файлам на системе, чтобы получить поднятые привилегии.

Из-за отсутствия вызова функции fdrop() в системном вызове readv(2), локальный пользователь может сделать многочисленные readv(2) запросы с чрезмерно длинным параметром "iovcnt", пока значение счётчика ссылок (int f_count) не станет отрицательным. Затем пользователь может вызвать close() на файловом дескрипторе, чтобы вызвать отказ в обслуживании в ядре FreeBSD.

Подобным образом, локальный пользователь может заставить файловый дескриптор выделить нераспределенную память ядра не выполняя деструктивных действий. Если ядро позже открывает новый файл, распределяя новую структуру файла в том же самом (предварительно освобожденном) местоположении памяти, то локальный пользователь может получить доступ на чтение или запись к этому файлу. В результате, локальный пользователь может получить поднятые привилегии.

URL производителя: http://www.freebsd.org/security/

Решение: FreeBSD выпустил исправление, доступное через CVS. Также эти исправления доступны для FreeBSD 4.3, 4.4, 4.5, 4.6, 4.7, и 4.8:

# fetch 
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:16/filedesc.patch

# fetch 
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:16/filedesc.patch.asc
Ссылки: Pine Digital Security Advisory