Osegi
Безопасность·1 мин чтения

sshhole: уязвимость OpenSSH в musl Linux пускает без пароля

Критическая уязвимость sshhole в OpenSSH, существующая с 2016 года в системах на musl вроде Alpine, принимает любой пароль длиннее 256 символов.

A padlock icon over a terminal window showing an SSH login prompt, symbolizing an OpenSSH authentication flaw.
Фото: Хабр

Раскрыта критическая уязвимость sshhole в OpenSSH на Linux-системах с библиотекой musl. Она существует с 2016 года и позволяет войти в учётные записи, не защищённые паролем, если ввести любой пароль длиной от 257 до 1024 символов.

Проблема затрагивает Alpine, OpenWrt, Buildroot, Yocto и множество образов Docker. Записи с символом * в поле пароля, например пользователи, работающие только по SSH-ключам, пользователи из LDAP или root в Alpine, начинают принимать такой пароль.

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

Система уязвима, если одновременно выполняются все условия:

  • sshd работает в среде с musl (Alpine, OpenWrt, Buildroot, Yocto);
  • PAM не используется (в Alpine пакет openssh-server по умолчанию настроен без PAM, либо в конфигурации указано UsePAM no);
  • вход по паролю разрешён, а это настройка по умолчанию;
  • в системе есть учётная запись с паролем *;
  • в системе есть и другая учётная запись с полноценным паролем.

В официальных образах Alpine для AWS и Azure такая настройка у пользователя по умолчанию alpine. Он может выполнять команды через doas без пароля, что фактически даёт права root.

Кто защищён

Пользователям Debian, Ubuntu, Fedora и других дистрибутивов на glibc ничего не грозит. Безопасны также системы с настроенным PAM, а также dropbear и OpenSSH в реализации OpenBSD.

Проблема устранена в обновлении openssh 10.6p2. Администраторам систем на musl, особенно облачных экземпляров Alpine и контейнеров, стоит установить исправление как можно скорее.

Приложения, на которые стоит взглянуть

SUMO: числовая головоломка

Выбирайте нужные клетки, складывайте, достигайте цели. Легко понять, сложно освоить. Бесплатно, для любого возраста.

Теги:opensshsshholemuslalpine linuxvulnerabilitydocker

Ещё за этот день

Показать все →

Ещё в рубрике: Безопасность

Показать все →