Во FreeBSD найдена локальная уязвимость

1/12/2009 10:59

В версиях FreeBSD 7.1, 7.2, 8.0 подтверждено наличие опасной уязвимости, позволяющей локальному непривилегированному злоумышленнику выполнить код с правами суперпользователя, сообщает opennet.ru. Уязвимость вызвана возможностью, при выполнении suid-программы через функцию execl(), запуска с повышенными привилегиями _init блока сторонней библиотеки, загруженной злоумышленником через подстановку переменной окружения LD_PRELOAD. По умолчанию при выполнении suid программ производится очистка опасных переменных окружения, но из-за ошибки в коде проверки успешности операции очистки переменных, имелась возможность передачи LD_PRELOAD вкупе с некорректно оформленным окружением. По предварительной информации уязвимости подвержены ветки FreeBSD 7.x и 8.x, для версий FreeBSD 4.9 и 6.3 проблема не проявляется, но, судя по коду, версия FreeBSD 6.4 является уязвимой. Опасность уязвимости многократно возрастает из-за наличия в открытом доступе рабочего эксплоита при том, что официальное обновление FreeBSD планируется выпустить только завтра. Тем не менее, Colin Percival, ответственный за безопасность FreeBSD (FreeBSD Security Officer), выпустил предварительный вариант патча, блокирующего проявление уязвимости.
Описание уязвимости