Появился очередной rootkit exploit для FreeBSD, уязвимы почти все версии с 7.1 по 8.0 включительно, часть версий 7.0 так же уязвима, во всяком случае patch 3 и patch12.
Любой локальный пользовательватель может получить рутовый доступ с помощью фактически любой системной утилиты у которой owner root и стоит флаг UID (ping, traceroute, passwd, и так далее). Как вы дожны знать, любой php shell = локальному пользователю.
Более подробно почитать тут -
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+current/freebsd-announceТекущий патч:
Заходим под рутом и пишем в консоли
cd /usr/src/libexec/rtld-elf; cp -p rtld.c rtld.c.bak; vi rtld.c
Ищем строку future ( /future)
Меняем этот блок кода:
if (!trust) {
unsetenv(LD_ "PRELOAD");
unsetenv(LD_ "LIBMAP");
unsetenv(LD_ "LIBRARY_PATH");
unsetenv(LD_ "LIBMAP_DISABLE");
unsetenv(LD_ "DEBUG");
На вот такой:
if (!trust) {
// unsetenv(LD_ "PRELOAD");
// unsetenv(LD_ "LIBMAP");
// unsetenv(LD_ "LIBRARY_PATH");
// unsetenv(LD_ "LIBMAP_DISABLE");
// unsetenv(LD_ "DEBUG");
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();
}
}
сохраняем файл и выходим из vi (:wq)
Выполняем:
make
make install
profit.
Взято тут -
http://habrahabr.ru/blogs/bsdelniki/76865/#comment_2237042Уже пропатчился на продакшен серверах.