Миллионы серверов OpenSSH могут быть уязвимы перед свежей проблемой regreSSHion (CVE-2024-6387), которая может использоваться для неаутентифицированного удаленного выполнения кода.
Уязвимость CVE-2024-6387, получившая название regreSSHion, была найдена специалистами ИБ-компании Qualys. Они сообщают, что это критический баг, серьезность которого ничуть не уступает таким нашумевшим проблемам, как Log4Shell.
Исследователи рассказывают, что уязвимость связана с серверным процессом sshd, который подвержен состоянию гонки обработчика сигналов. Это позволяет неаутентифицированному удаленному злоумышленнику выполнить код с привилегиями root в Linux-системах на базе glibc. Пока неизвестно, возможна ли эксплуатация CVE-2024-6387 в системах под управлением Windows и macOS.
CVE-2024-6387 представляет собой вариант старой уязвимости CVE-2006-5051. Так, проблема вновь проявилась в октябре 2020 года с выходом OpenSSH 8.5p1.
То есть перед regreSSHion уязвимы:
- версии OpenSSH до 4.4p1, если в них не установлены исправления для CVE-2006-5051 и CVE-2008-4109;
- уязвимость вновь появилась в версиях с 8.5p1 по 9.8p1 (не включительно), из-за случайного удаления критического компонента.
Версии с 4.4p1 до 8.5p1 (не включительно) не уязвимы благодаря патчу для CVE-2006-5051, который сделал небезопасную ранее функцию безопасной.
Также отмечается, что ошибка не затрагивает OpenBSD, так как в 2001 году OpenBSD разработали защищенный механизм, предотвращающий эту проблему.
«Если клиент не проходит аутентификацию в течение LoginGraceTime секунд (120 по умолчанию), то обработчик SIGALRM в sshd вызывается асинхронно и вызывает различные функции, которые не являются безопасными с точки зрения async-signal, — поясняют в бюллетене безопасности разработчики Debian. — Удаленный неаутентифицированный злоумышленник может воспользоваться этим и выполнить произвольный код с привилегиями root».
Ситуация усугубляется тем, что OpenSSH широко применяется на предприятиях для удаленного управления серверами и безопасного обмена данными. Так, по информации Qualys, поиск через Shodan и Censys обнаруживает более 14 млн потенциально уязвимых экземпляров OpenSSH, доступных через интернет.
Несмотря на всю серьезность проблемы, специалисты Qualys пишут, что regreSSHion весьма трудно эксплуатировать в реальности и потребуется множество попыток, чтобы добиться необходимого повреждения памяти. Однако отмечается, что для преодоления этих трудностей и повышения процента успешной эксплуатации могут быть использованы ИИ-инструменты.
Недавно уязвимость была устранена с выходом версии 9.8p1, до которой теперь следует обновиться как можно скорее. Так, для устранения проблемы рекомендуется:
- применить последнее доступное обновление для OpenSSH (версия 9.8p1), которое устраняет уязвимость;
- ограничить доступ к SSH (например, с помощью брандмауэра) и провести сегментацию сети для предотвращения бокового перемещения;
- если сервер OpenSSH нельзя обновить немедленно, следует установить значение LoginGraceTime в значение «0» в конфигурационном файле sshd, хотя стоит учесть, что это может подвергнуть сервер атакам на отказ в обслуживании.