Уязвимость в FreeBSD. Повышение привелегий пользователя.

Уязвимость позволяет локальному пользователю повысить свои привилегии на системе. Уязвимость существует из-за того, что функция _rtld() в файле libexec/rtld-elf/rtld.c некорректно очищает определенные переменные окружения перед выполнением suid root процессов. Локальный пользователь может с помощью специально сформированной переменой окружения выполнить произвольный код в системе с привилегиями учетной записи root.

Ссылок на exploit давать не буду, чтобы было поменьше вредителей, но эксплоит только что собственноручно проверял и убедился в его работоспособности. Дожидаться пока исправления включат в дерево cvs/svn у меня особого желания нет (на момент написания поста исправления включены только в head и stable/[78]), да и систему вновь всю пересобирать как-то не очень тянет. Потому, предлагаю вашему вниманию более простой, но такой же эффективный способ исправления проблемы в четыре строчки:

% cd /usr/src/libexec/rtld-elf/
% fetch http://people.freebsd.org/~cperciva/rtld.patch
% cat rtld.patch | patch -p1
% make && make install && make clean

Comments

Написать комментарий.




XHTML: Можете использовать следующий код: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>