Переполнение буфера в одном из системных вызовов FreeBSD

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

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

Подобным образом, локальный пользователь может заставить файловый дескриптор выделить нераспределенную память ядра, не выполняя деструктивных действий. Если ядро позже открывает новый файл, распределяя новую структуру файла в том же самом (предварительно освобожденном) местоположении памяти, то локальный пользователь может получить доступ на чтение или запись к этому файлу. В результате, локальный пользователь может получить повышенные привилегии.
безопасность, информация, защита информации, статьи, библиотека, аудит, администрирование, реагирование на инциденты, криптография, уязвимость
По материалам http://www.securitylab.ru
Лента новостей: FacebookLiveJournalЯндекс

Комментарии (0)
Оставьте комментарий:CaptchaОбновить проверочный код