Устройства, использующие определенные конфигурации дистрибутива Alpine Linux и, возможно, других дистрибутивов, сталкиваются со старой уязвимостью, которой около десяти лет, позволяющей злоумышленникам беспрепятственно входить в целевые устройства без необходимости ввода пароля.
Корни уязвимости, получившей название *sshole, кроются в способе взаимодействия библиотеки OpenSSH, отвечающей за SSH-соединения, с альтернативной и легковесной библиотекой musl (заменой libc), используемой в дистрибутиве Alpine. Для проявления уязвимости OpenSSH с musl не должна использовать фреймворк аутентификации PAM, а также должны соблюдаться дополнительные условия, такие как наличие учетной записи пользователя, защищенной паролем, зашифрованным с помощью функций SHA256 или SHA512, и при этом учетная запись должна быть назначена как не имеющая пароля путем установки символа «звездочки» в конфигурационном файле.
Что меняется на практике?
При соблюдении всех вышеперечисленных условий злоумышленник, имеющий доступ к порту SSH, может войти в систему, просто введя более 256 символов в поле пароля. Разработчики Alpine подтвердили, что атака осуществляется с одного соединения и срабатывает каждый раз без необходимости повторных попыток.
Компания в области кибербезопасности Checkpoint пояснила, что использование упомянутых алгоритмов шифрования играет ключевую роль, поскольку служба sshd полагается на значение случайной соли (salt) соответствующей учетной записи. Компания также отметила, что учетные записи root остаются в безопасности при настройках по умолчанию, запрещающих вход по паролю, в то время как учетные записи с привилегиями sudo или doas остаются уязвимыми.
Масштаб воздействия и исправления
Дистрибутив Alpine пользуется широкой популярностью: его используют более чем в миллиарде загрузок базовых образов Docker, помимо заметного присутствия во встроенных устройствах, маршрутизаторах, серверах и цифровых контейнерах. По оценкам компании Detectify, существуют миллионы систем, открытых на порту 22, и хотя лишь небольшая их часть соответствует условиям уязвимости, легкость сканирования делает риски реальными.
Ответственные стороны за OpenSSH и дистрибутив Alpine выпустили обновления безопасности для решения проблемы, в то время как среди разработчиков библиотек разошлись технические мнения о том, где именно находится корень ошибки — в OpenSSH или musl. В отсутствие официального идентификатора CVE на данный момент техническим специалистам и системным администраторам рекомендуется проверить инфраструктуру и немедленно применить доступные обновления.