Во FreeBSD 4.x с включенным сервисом SSH найдена удаленная root-уязвимость
30 июня 2011 года
В списке рассылки full-disclosure представлена критическая уязвимость во FreeBSD 4.x, позволяющая удаленному злоумышленнику без аутентификации получить root-доступ к системе через SSH. Уже создан и публично опубликован эксплоит, позволяющий получить привилегированный shell на подверженных уязвимости серверах.
Уязвимость проявляется для протоколов SSH1 и SSH2. Проблема вызвана ошибкой в libopie, обнаруженной и исправленной в 2010 году (CVE-2010-1938, FreeBSD-SA-10:05.opie). Проблеме также подвержены версии FreeBSD вплоть до 8.0 (без соответствующего обновления). Помимо SSH, возможна атака также через FTP и другие сервисы, использующие libopie (через pam_opie или как-либо иначе).
Ошибка проявляется при передаче слишком длинного имени пользователя. Простой способ проверить наличие уязвимости - попытаться обратиться к своему серверу, указав логин порядка 100 символов. Например: "ssh -l`perl -e 'print "A" x 100'` хост", в случае проблемы, можно наблюдать крах рабочего процесса sshd и вывод в лог /var/log/messages сообщения "/kernel: pid N (sshd), uid 0: exited on signal 11 (core dumped)". Изучение core-дампа показало, что проблема подвержена эксплуатации, так как атакующий может контролировать указатель перехода и позиционировать его на shellcode. Прототип рабочего эксплоита был успешно создан путем небольшой модификации кода ssh-клиента из пакета OpenSSH 5.8p2.
$ ./ssh -1 192.168.1.1 $ nc -v -l -p 10000 listening on [any] 10000 ... 192.168.1.1: inverse host lookup failed: Unknown host connect to [192.168.1.2] from (UNKNOWN) [192.168.1.1] 1038 uname -a FreeBSD h4x.localdomain 4.11-RELEASE FreeBSD 4.11-RELEASE #0: Fri Jan 21 17:21:22 GMT 2005 /GENERIC i386 id uid=0(root) gid=0(wheel) groups=0(wheel)
Поддержка ветки FreeBSD 4.x прекращена ещё в 2007 году, но данная версия все еще используется на некоторых серверах в сети. Пользователям старых версий FreeBSD рекомендуется исключить из конфигурации PAM модуль pam_opie.so, что предотвращает использование libopie соответствующими сервисами. Пользователям FreeBSD 6.4 - 8.0 рекомендуется установить обновления.
Дополнение 1: рабочий эксплоит также реализован для более ранних версий FreeBSD.
Дополнение 2: уязвимость находится в libopie, и для ее нейтрализации достаточно закомментировать строчку, подключающую pam_opie.so.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.