В OpenSSH на musl Linux аккаунты с паролем `*` принимают любой пароль длиннее 256 символов

Sshole

В OpenSSH на musl Linux аккаунты с паролем `*` принимают любой пароль длиннее 256 символов

С 2016 года в OpenSSH на musl-системах (Alpine, OpenWrt, Buildroot, Yocto) аккаунты, у которых в поле пароля стоит `*` (root, key-only пользователи, LDAP-пользователи), принимают любой пароль длиной от 257 до 1024 символов. Причина — в том, что musl при ошибке crypt() возвращает `"*"`, а sshd сравнивает результат с сохранённым полем и не проверяет NULL. На официальных AWS и Azure образах Alpine это даёт root через пользователя `alpine` с passwordless doas. Исправлено в OpenSSH 10.6p2.

если поле — просто `*`? сравнивать не с чем. вводи что угодно, тебя это никогда не пустит

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

2026-11-05