Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

SSHole - уязвимость, позволяющая подключиться по SSH без пароля в системах с Musl

05.11.2026 21:24 (MSK)

Разработчики OpenSSH опубликовали экстренное обновление OpenSSH 10.6p2, в котором добавлена защита от критической уязвимости (CVE не назначен), получившей кодовое имя "SSHole" и позволяющей обойти аутентификацию. В системах с библиотекой Musl уязвимость позволяет подключиться к пользователю, для которого не установлен пароль, введя любой пароль, содержащий больше чем 256 символов. Проблема затрагивает дистрибутивы Linux, использующие стандартную библиотеку musl, но не использующие PAM (Pluggable Authentication Modules), такие как OpenWRT, Alpine, Buildroot и Yocto. Особую опасность представляет то, что часто вход по паролю блокируется для пользователя root, что даёт возможность любому удалённо подключиться с правами администратора.

Ошибка, приводящая к уязвимости, не в коде OpenSSH, но эксплуатируется через sshd. При этом в виду серьёзности проблемы в версии OpenSSH 10.6p2 предложен обходной вариант блокирования уязвимости. Владельцам подверженных проблеме систем рекомендовано не дожидаться появления обновлений, а немедленно отключить парольную аутентификацию через параметр "PasswordAuthentication no" в /etc/ssh/sshd_config или полностью отключить SSH. Проблема не проявляется в системах, отличных от Linux и в Linux-окружениях на базе glibc, а также в системах, использующих PAM при аутентификации по паролю. Исправление уже доступно в Alpine и OpenWRT.

Уязвимость связана с некорректным взаимодействием OpenSSH и функции crypt() из musl. Для защиты от определения существования пользователей через анализ различий во времени обработки запросов, c 2016 года OpenSSH использует при проверке беспарольных учётных записей соль другого пользователя, имеющего действительный хеш пароля. Однако в musl функция crypt() для хэшей SHA-512 возвращает символ "*", если длина переданного пароля превышает 256 байт (ограничение введено в 2012 году для защиты от DoS-атак, так как при передаче больших значений возникает большая нагрузка на CPU). Такой же символ используется в "/etc/shadow" для обозначения учётных записей, для которых аутентификация по паролю заблокирована.

В результате атакующий, имеющий возможность подключиться к SSH-серверу, может подключиться к любой учётной записи, у которой в "/etc/shadow" в поле пароля указан символ "*", передав строку длиной от 257 до 1024 байт. Проблема охватывает множество существующих Docker-образов, построенных с использованием Alpine Linux, а также штатные образы Alpine для облачных систем AWS и Azure, у пользователя root в которых вместо хэша пароля выставлен знак "*".

Примечательно, что изначально в официальных Docker-образах, использующих Alpine, c 2015 года выставлялся пустой пароль root, а после выявления данной уязвимости, вместо хэша пароля был выставлен знак "!". Но его наличие блокировало вход по SSH-ключам, поэтому с 2022 года символ для блокировки входа по паролю был заменён на "*".

  1. Главная ссылка к новости (https://lists.mindrot.org/pipe...)
  2. OpenNews: Docker-образы Alpine поставлялись с пустым паролем пользователя root
  3. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
  4. OpenNews: Реализация DDIO в чипах Intel допускает сетевую атаку по определению нажатий клавиш в сеансе SSH
  5. OpenNews: Обновление OpenSSH 9.9p2 с устранением возможности совершения MITM-атаки
  6. OpenNews: Около 10% выходных узлов Tor были вовлечены в атаку по перехвату SSH-подключений
Автор новости: Artem S. Tashkinov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66627-ssh
Ключевые слова: ssh, openssh, alpine, openwrt, root
При перепечатке указание ссылки на opennet.ru обязательно


 Добавить комментарий
Имя:
E-Mail:
Текст:



XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг: