Уязвимость в 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
Написать комментарий.