Дата публикации: | 12.02.2003 |
Всего просмотров: | 1409 |
Опасность: | Низкая |
Наличие исправления: | Да |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | Локальная |
Воздействие: | Повышение привилегий |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | FAR Manager 1.70 |
Описание: | FAR – популярный файловый менеджер для Windows систем. Файловая система NTFS позволяет создавать пути почти неограниченной длины. Но Windows API не позволяет создавать пути длинее 256 байтов. Чтобы обойти это ограничение, можно использовать в пути к файлу префикс ‘\\?\’ . Это документированная особенность Windows API. Путь, длиннее 260 символов, вызовет аварийное завершение работы FAR. Far 1.70beta4 выполняет проверку длины пути и не позволяет использовать пути длиннее 160 символов. Но из-за ошибки в коде, все еще можно эксплуатировать FAR, представляя путь длинной ровно 260 символов (“off-by-one” переполнение указателя стека). Уязвимость может использоваться для выполнения произвольного кода. Пример (.bat эксплоит, создает каталог с двумя подкаталогами, заход в первую приведет к аварийному завершению работы Far 1.70beta1, а во вторую к краху Far 1.70beta4) @echo off SET A=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAA SET B=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB mkdir \\?\c:\%A% mkdir \\?\c:\%A%\%A% mkdir \\?\c:\%A%\%B%\обратите внимание: SET A=A..A – одна строка! Уязвимость обнаружена в FAR 1.70beta1, 1.70beta4 и устранена в 1/70beta5 |
Ссылки: | SECURITY.NNOV: Far buffer overflow |