SSHole или как журналисты обнаружили критическую уязвимость в OpenSSH, забыв разобраться, что именно уязвимо
В социальных сетях началась очередная эпидемия сообщений об ужасной критической уязвимости OpenSSH, позволяющей получить доступ к Linux-серверу без пароля.
Есть несколько маленьких нюансов, которые почему-то теряются в процессе перепечатывания страшных заголовков.
-
Проблема связана с некорректной обработкой результата
crypt()в musl libc. На системах с glibc этой проблемы нет. -
Уязвимость касается OpenSSH. Например, штатный SSH-сервер OpenWRT — Dropbear. Он не использует уязвимый механизм. Но зачем разбираться в деталях, если можно написать страшный пост?
-
Основная область распространения musl в серверной инфраструктуре — Alpine Linux, который чаще всего встречается в качестве основы контейнерных образов. В большинстве таких контейнеров SSH-сервера вообще нет. Правда, существуют и полноценные серверные установки Alpine, которые действительно требуют внимания.
-
Использование PAM меняет условия эксплуатации. В штатной конфигурации большинства серверных дистрибутивов с glibc проблема вообще отсутствует.
Итого: существует серьёзная уязвимость конкретной комбинации OpenSSH, musl и настроек аутентификации. Её необходимо исправлять там, где она действительно применима.
Но превращать это в «критическую уязвимость OpenSSH, угрожающую всем Linux-серверам» — примерно то же самое, что объявлять уязвимостью всех автомобилей ошибку в тормозной системе конкретной модели с конкретной модификацией ABS.
Иногда перед публикацией очередного апокалиптического поста полезно прочитать не только заголовок CVE, но и техническое описание уязвимости.
Хотя, судя по некоторым публикациям, это уже слишком радикальное требование к современной информационной безопасности.