Да, абсолютно актуальны, и как раз из-за использования библиотеки
musl libc в Alpine Linux возникла одна из самых громких уязвимостей
CVE-2026-123158 (получившая имя sshole). Это уникальный случай, когда дистрибутивы на базе стандартной glibc (Ubuntu, Debian, CentOS) вообще не подвержены этой проблеме, в то время как Alpine Linux в дефолтной конфигурации оказался под прямой угрозой.
Суть уязвимости: Как архитектура musl libc подвела OpenSSH
Ошибка кроется не в самом коде OpenSSH, а в логике взаимодействия SSH-сервера с библиотекой musl libc при проверке паролей:
1. Поведение musl libc: Начиная с 2012 года, встроенная в musl функция шифрования паролей crypt() в случае любой ошибки возвращает строку, состоящую из одного символа — * (вместо значения NULL, как в glibc). Кроме того, алгоритмы хэширования в musl жестко ограничивают максимальную длину пароля в 256 байт. Всё, что длиннее, вызывает ошибку.
2. Поведение OpenSSH: Когда злоумышленник пытается войти по SSH и отправляет слишком длинный пароль (от 257 до 1024 символов), musl libc не может его обработать, выдает ошибку и возвращает строку *.
3. Логическая ловушка: OpenSSH сравнивает полученную от библиотеки строку (*) со значением в файле /etc/shadow. В Alpine Linux у многих служебных аккаунтов (или у пользователей, которые авторизуются только по SSH-ключам) в поле пароля изначально записан символ * (что означает «пароль не задан / вход по паролю заблокирован»).
Итог: Строка * от функции мусл совпадает со значением * в конфигурации аккаунта. OpenSSH считает, что пароль введен верно, и пропускает атакующего в систему без пароля и ключа.
Условия, при которых Alpine Linux уязвим:
Атака сработает, если на вашей системе одновременно выполняются следующие условия:
• Используется openssh-server, собранный без поддержки модуля PAM (в Alpine Linux это дефолтная сборка).
• В настройках SSH разрешен вход по паролю (PasswordAuthentication yes — включено по умолчанию).
• В системе есть аккаунты, у которых заблокирован пароль (в /etc/shadow стоит *), но разрешен вход по ключам (например, дефолтный юзер alpine на облачных образах AWS/Azure или root в некоторых конфигурациях).
Как защититься прямо сейчас?
Разработчики Alpine Linux оперативно выпустили исправления для всех веток, начиная с древней 3.16 и заканчивая актуальными 3.24 и Edge.
1. Обновите пакеты на «живой» системе или обновите Docker-образ:
apk upgrade -U -a
Важно: После обновления пакета обязательно перезапустите службу SSH, иначе в памяти останется старый уязвимый процесс:
rc-service sshd restart
2. Временный костыль (если нельзя обновиться прямо сейчас):
Полностью отключите вход по паролям в файле /etc/ssh/sshd_config:
PasswordAuthentication no
После этого перезапустите SSH-сервер. При авторизации исключительно по SSH-ключам данная уязвимость становится невозможной.