Материалы по тегу: ssh
|
06.11.2026 [14:29], Владимир Мироненко
В OpenSSH устранили баг SSHole, позволяющий обойти аутентификациюРазработчики OpenSSH опубликовали экстренное обновление OpenSSH 10.6p2, в котором добавлена защита от критической уязвимости (CVE не назначен) под названием SSHole, позволяющей обойти аутентификацию, сообщил ресурс Opennet.ru. Уязвимость обнаружил независимый ИБ-исследователь Озгюн Кюльтекин (Özgün Kültekin). Она возникает при взаимодействии OpenSSH и библиотеки musl libc, которая при определённой конфигурации Linux-системы позволяет войти в учётную запись с отключённой парольной аутентификацией, отправив через SSH пароль длиной от 257 до 1024 байт. По словам исследователя, уязвимость существует с 2016 года. Она затрагивает платформы Linux, использующие библиотеку musl, но не использующие PAM, такие как OpenWRT, Alpine, Buildroot и Yocto. В 2016 году разработчики OpenSSH, исправляя уязвимость CVE-2016-6210, которая позволяла определять существующие имена пользователей по времени ответа сервера, выпустили патч, после чего sshd стал выполнять хеширование пароля даже для тех учётных записей, для которых вход по паролю фактически отключён, не позволяя определить имена пользователей по разнице во времени ответа. Но после этого при использовании SHA-256 crypt или SHA-512 crypt функция crypt() больше не обрабатывает пароли длиннее 256 байт и возвращает * как признак ошибки. Это же значение может храниться в /etc/shadow для учётной записи с отключённой парольной аутентификацией. В результате sshd сравнивает полученную * со значением * в /etc/shadow и считает проверку успешной. Что также примечательно, изначально в официальных Docker-образах, использующих Alpine, c 2015 года выставлялся пустой пароль root, а после выявления этого факта, вместо хеша пароля был выставлен знак "!". Но поскольку это блокировало вход по SSH-ключам, с 2022 года символ для блокировки входа по паролю был заменён на "*". По словам разработчика, атака возможна при соблюдении ряда условий:
Исправление уже доступно в Alpine и OpenWRT. Если по какой-то причине установить обновление не удаётся, рекомендуется отключить парольную аутентификацию (PasswordAuthentication no) и перезапустить sshd. |
|
