В OpenSSH нашли абсурдную дыру — любой текст от 257 символов давал root-доступ к Linux

Уязвимости было около 10 лет

В OpenSSH нашли абсурдную дыру — любой текст от 257 символов давал root-доступ к Linux

В OpenSSH нашли серьезную ошибку: для входа в Linux иногда хватало любого пароля длиннее 256 символов. Даже если вход по паролю был запрещен. 

В некоторых случаях так можно было получить права root и полный контроль над сервером. Уязвимость существовала около 10 лет.

Читают прямо сейчас:

SSH-подключение: что это и как использовать — разбираем подключение к серверам, авторизацию и работу с ключами.

В Linux и FreeBSD нашли десятки опасных уязвимостей для захвата root и взлома VM — какие ошибки позволяют получить права администратора и захватить систему.

Кибербезопасность: какие бывают уязвимости и как от них защититься — разбираем опасные ошибки, способы атак и защиту систем.

Как это работало

В Linux символ * вместо пароля означает, что войти с паролем нельзя. Но библиотека musl использовала тот же символ при ошибке проверки слишком длинного пароля.

OpenSSH не замечал подвоха: видел два одинаковых символа и разрешал вход. Так случайное совпадение в коде превратилось в опасную дыру.

Кто оказался под угрозой

Ошибка затрагивала не все системы Linux, а только определенные конфигурации OpenSSH с библиотекой musl и без PAM.

Для взлома требовалось несколько условий: разрешенный вход по паролю, учетная запись с символом * вместо пароля и хотя бы один другой пользователь с обычным паролем.

Если все совпадало, подходила любая строка длиной от 257 до 1024 байт.

Особенно опасной ошибка оказалась для облачных образов Alpine Linux в AWS и Azure. Там можно было войти под пользователем alpine, а затем получить права root без дополнительного пароля.

Как исправить

Уязвимость закрыли в OpenSSH 10.6p2. Пользователям Alpine Linux достаточно обновить пакет командой apk upgrade openssh.

Если обновиться пока нельзя, стоит отключить вход по паролю через параметр PasswordAuthentication no, предварительно проверив работу SSH-ключей.

Обнаружил ошибку исследователь ozgun. Он протестировал 12 сборок OpenSSH и около 17 600 попыток входа, прежде чем нашел опасное сочетание настроек.

Скидка на все курсы Практикума

Раз вы дочитали эту новость до конца, с технологиями у вас всё в порядке. А если давно присматривались к разработке, аналитике, нейросетям, тестированию или кибербезопасности, сейчас туда можно зайти дешевле.

Промокод KOD (можно просто нажать) даст скидку на любой платный курс! А если пока не готовы покупать курс, у Практикума есть бесплатные вводные части.

Соцсети: Юлия Зубарева
Через год — лучше работа, выше зарплата
В «Яндекс Практикуме» становятся разработчиками с нуля. Выберите язык — веб, Python, Java, C++ — и учитесь. Джуны зарабатывают от 80 000 ₽, мидлы — от 150 000 ₽. Дальше — программы трудоустройства и компенсация, если пойдёте в Яндекс.
Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата Через год — лучше работа, выше зарплата
Вам может быть интересно
easy