Дата публикации: | 28.03.2002 |
Всего просмотров: | 1109 |
Опасность: | |
Наличие исправления: | |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | |
Воздействие: | |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | |
Описание: | В случае чрезмерно длинного имени пути, внутренняя функция ядра d_path возвратит усеченное имя пути вместо значения ошибки. Поскольку эта функция используется системным вызовом getcwd(2) и функцией do_proc_readlink (), ложная информация может быть возвращена к пользовательским процессам.
Функция ядра d_path возвращает строку абсолютного имени пути 'dentry', пропущенную как параметр к функции. Путь - это цепочка последовательных компонентов пути, начинающаяся с конечного компонента пути. Связанное имя пути хранится в буфере с устанавливаемой длиной в PAGE_SIZE байтов. Если 'dentry' указывает на путь, который превышает длину PAGE_SIZE - 1 символ, компоненты пути будут возвращены функцией усеченными без возвращения ошибки. Поскольку системный вызов getcwd(2) использует функцию d_path (), уязвимость позволяет возвращать недопустимый путь к пользовательскому процессу. Однако, если возвращенный путь более длинен, чем буфер в процессе пользователя, будет возвращено правильное значение ошибки. В результате привилегированный процесс может быть обманут, считая, что он внутри произвольного каталога. Возможны другие сценарии, например, если readlink() используется на файлах на файловой системе proc (подобно "/proc/self/exe"). |
Ссылки: | эксплоит |