В конфигурациях Alpine Linux обнаружили уязвимость для входа по SSH без пароля — Ars Technica
В некоторых конфигурациях Alpine Linux обнаружили десятилетнюю уязвимость sshole, которая может позволить удалённый вход через SSH без знания пароля. Как сообщает Ars Technica, проблема возникает во взаимодействии OpenSSH с библиотекой musl, которую Alpine использует вместо более распространённой libc.
Для эксплуатации OpenSSH, работающий с musl, также должен быть настроен без PAM — механизма модулей для аутентификации и проверки доступа к учётным записям. Другие дистрибутивы Linux также потенциально могут быть уязвимы, если используют такие же конфигурации.
Условия для атаки
Уязвимость, которую её первооткрыватель назвал sshole, касается не всех устройств с Alpine Linux. Для атаки в системе должна быть как минимум одна активная учётная запись с паролем, хешированным с помощью SHA256 или SHA512. Целевая учётная запись одновременно должна быть настроена без пароля: поле пароля в файле /etc/shadow должно содержать пустое значение.
При таких условиях злоумышленник, который может подключиться к SSH-порту устройства, способен войти в учётную запись без пароля, введя в поле пароля более 256 символов. Разработчики Alpine заявили, что для этого достаточно одного соединения и повторные попытки не требуются.
Больше актуальных новостей — в Telegram-канале UA.News Telegram.
Обновления для Alpine и OpenSSH
Компания Checkpoint отметила, что хеши SHA256 или SHA512 необходимы для атаки, поскольку процесс sshd использует соль соответствующей учётной записи. Исследователи компании также сообщили, что эта учётная запись должна быть активной. Учётные записи root защищены при стандартной настройке PermitRootLogin prohibit-password, однако доступный пользователь с правами sudo или doas потенциально может получить привилегии root.
Alpine широко используют в контейнерных образах, маршрутизаторах, смарт-телевизорах и промышленных контроллерах. Базовый образ Alpine на Docker Hub имеет более 1 млрд загрузок. По данным Detectify, Shodan насчитывает около 22 млн систем с открытым SSH-портом 22, хотя условиям для эксплуатации соответствует лишь часть из них.
OpenSSH уже выпустил обновление, а Alpine также опубликовала исправление. Разработчик musl Рич Фелкер считает, что проблема заключается не в самой библиотеке, а в некорректном использовании механизма со стороны приложения; изменения в musl планируют добавить в следующем релизе. Известного идентификатора CVE для этой уязвимости пока нет.