Опасная уязвимость в ProFTPD и ftpd из состава FreeBSD
Уязвимость в ftpd вызвана особенностью выставления uid/euid для рабочего процесса: во время работы с файлами меняется только euid, который влияет на операции с файлами, а uid остаётся неизменным. При выполнении /bin/ls после вызова команды STAT отсутствует проверка на сочетание uid=0 и euid!=0, что приводит к попыткам загрузки библиотеки /lib/nss_compat.so с правами uid 0 (root). Разместив фиктивную библиотеку "~/lib/nss_compat.so.1" в домашней директории и создав "~/etc/nsswitch.conf" для активации NSS, при изоляции аккаунта в chroot в рамках данной домашней директории, библиотека окажется в директории /lib относительно нового корня и будет вызвана из libc с uid root и euid текущего непривилегированного пользователя.
Официальных патчей с исправлением проблемы пока нет, но для FreeBSD на скорую руку подготовлен неофициальный патч, позволяющий блокировать работу эксплоита. Дополнительно опубликован видеоролик с детальной демонстрацией работы эксплоита. Следует заметить, что код с правами root запускается после создания chroot, что ограничивает его работу директорией пользователя.
Дополнение: Сообщается об обнаружении похожей проблемы в ftp-сервере vsftpd, но уязвимость больше носит теоретический характер, так как чрезвычайно сложно эксплуатируема, требует нереальных условий (наличие в системе версии glibc с уязвимостью, исправленной ещё в 2009 году) и в конечном итоге может привести лишь к выполнению кода с правами непривилегированного пользователя, что практически исключает выход за пределы chroot (для повышения привилегий из chroot можно дополнительно эксплуатировать локальную уязвимость в ядре). Проблема присутствует не в самом vsftpd, а в glibc. В случае с vsftpd в каталог "~/usr/share/zoneinfo" помещаются специально оформленные файлы временных зон, которые эксплуатируют переполнение буфера в старых версиях библиотеки glibc, которая пытается загрузить данные файлы из иерархии chroot при выполнении определённых FTP-команд.
Источник: http://www.opennet.ru/opennews/art.shtml?num=32450
|
0 | Tweet | Нравится |
|