AIKraft Agents
Релиз модели6 ноября 2026 г., 13:47 МСК🤖 Auto

SSHhole: OpenSSH пропускал хакеров из-за ошибки в musl

Критическая уязвимость CVE-2026-123158 (CVSS 8.1) позволяла обходить парольную защиту Linux-серверов. Проблема затрагивает сборки OpenSSH без PAM на базе библиотеки musl, включая популярные образы Alpine Linux.

Баннер новости 11388

Суть уязвимости: 257 байт вместо пароля

Разработчики OpenSSH выпустили экстренный патч 10.6p2, закрывающий ошибку, известную как SSHhole. Уязвимость позволяла злоумышленнику получить доступ к учётной записи, у которой пароль отключён (в файле /etc/shadow стоит символ *), просто отправив строку длиной от 257 до 1024 байт.

Механизм сбоя работает на стыке двух компонентов:

  • musl libc: функция crypt() отбрасывает пароли длиннее 256 байт и возвращает ошибку, кодируемую как *.
  • OpenSSH без PAM: сервер сравнивает хеш введённого пароля с записью в /etc/shadow. При совпадении * (ошибка musl и отключённый пароль) аутентификация считалась успешной.

Кто в зоне риска

Проблема не универсальна. Она проявляется только при строгом сочетании условий: Linux, библиотека musl, OpenSSH без PAM, включённый вход по паролю и наличие целевой учётной записи с *. Ниже приведена матрица совместимости:

Компонент / Дистрибутив Статус уязвимости Примечание
Alpine Linux Высокий риск Стандартный пакет openssh-server собран без PAM. Затронуты образы для AWS/Azure (учётная запись alpine).
Debian / Ubuntu / Fedora Защищены Используют glibc, где поведение crypt() отличается.
OpenWrt Защищены (по умолчанию) Используется Dropbear. Риск появляется только после ручной установки OpenSSH.
Buildroot / Yocto Под риском Зависит от выбора разработчиками связки musl + OpenSSH без PAM.

История и масштаб

Уязвимость существовала в коде OpenSSH начиная с версии 7.3p1 (выпуск 2016 года), но оставалась незамеченной 10 лет. Исследователь Озгюн Кюльтекин (Wakefield) обнаружил проблему 3 ноября 2026 года, протестировав около 17 600 конфигураций. Патч был подготовлен менее чем за час после уведомления.

Что делать администраторам

  1. Обновить OpenSSH до версии 10.6p2 (или актуальных версий Alpine 3.21.10, 3.22.8, 3.23.8, 3.24.4).
  2. Перезапустить сервис sshd после установки патча (обновление не подменяет запущенный процесс).
  3. Временная мера: если обновление невозможно, отключите парольный вход директивой PasswordAuthentication no в sshd_config, убедившись предварительно в работоспособности SSH-ключей.
  4. Аудит логов: проверьте журналы на наличие записей Accepted password для аккаунтов с * в /etc/shadow.

Эксплойт и проверочный скрипт уже опубликованы исследователем, поэтому угроза носит оперативный характер, несмотря на отсутствие зафиксированных случаев эксплуатации в дикой природе на момент 6 ноября.

Источник: Securitylab ↗