Критическая уязвимость FreeBSD 7.1-8.0
| FreeBSD - Азы |
Вычитал тут на Хабре про критическую уязвимость FreeBSD 7.1-8.0 позволяющую получить рутовый доступ из-под обычного пользователя. Заметка была опубликована в конце прошлого года, но, тем не менее, нужно проверить, установлен ли патч. Приведу последовательность установки патча:
# cd /usr/src/libexec/rtld-elf/
# fetch http://people.freebsd.org/~cperciva/rtld.patch
# cat rtld.patch | patch -p1
# make && make install && make clean
Не везде он отрабытывает как нужно, поэтому находим в rtld.c строку 366 и рядом следующий код
unsetenv(LD_ "PRELOAD");
unsetenv(LD_ "LIBMAP");
unsetenv(LD_ "LIBRARY_PATH");
unsetenv(LD_ "LIBMAP_DISABLE");
unsetenv(LD_ "DEBUG");
unsetenv(LD_ "ELF_HINTS_PATH");
удаляем эти строки и вместо них вставляем следующее
if (unsetenv(LD_ "PRELOAD") || unsetenv(LD_ "LIBMAP") ||
unsetenv(LD_ "LIBRARY_PATH") || unsetenv(LD_ "LIBMAP_DISABLE") ||
unsetenv(LD_ "DEBUG") || unsetenv(LD_ "ELF_HINTS_PATH")) {
_rtld_error("environment corrupt; aborting");
die();
}
| < Предыдущая | Следующая > |
|---|