Разработчики OpenSSH устранили критическую уязвимость, которая может привести к удаленному выполнению кода с root-привилегиями в системах Linux на базе glibc. Ошибку обнаружилиспециалисты компании Qualys.
Уязвимость CVE-2024-6387 типа Race Condition находится в серверном компоненте OpenSSH, также известном как sshd, который предназначен для прослушивания соединений от любого клиентского приложения.
OpenSSH – это набор программных инструментов, обеспечивающих безопасный удалённый доступ с использованием протокола шифрования SSH. Набор включён во все системы Linux, основанные на glibc, что означает практически все крупные дистрибутивы (кроме Alpine Linux, который использует libc). Системы BSD не подвержены данной уязвимости. Qualys пока не знает, насколько могут быть затронуты операционные системы macOS или Windows.
Qualys выявила не менее 14 миллионов потенциально уязвимых экземпляров серверов OpenSSH, доступных через Интернет. Отмечается, что обнаруженная ошибка, получившая название “regreSSHion” является регрессией уже исправленной 18-летней уязвимости ( CVE-2006-5051, оценка CVSS: 8.1).
Регрессия здесь означает, что однажды исправленная ошибка снова появляется в последующей версии ПО, обычно из-за изменений или обновлений, которые случайно возвращают проблему. В данном случае ошибка была восстановлена в октябре 2020 года в рамках версии OpenSSH 8.5p1
Успешная эксплуатация уязвимости была продемонстрирована на 32-битных системах Linux/glibc с рандомизацией адресного пространства (ASLR). В лабораторных условиях атака требует в среднем 6-8 часов непрерывных подключений до максимума, который может принять сервер. Не отмечается, были ли замечены случаи эксплуатации regreSSHion в реальных условиях.
Qualys объясняет, что если клиент не проходит аутентификацию в течение 120 секунд (настройка, определяемая LoginGraceTime), то обработчик sshd SIGALRM вызывается асинхронно способом, который не является безопасным для async-signal.
Конечным результатом эксплуатации является полная компрометация и захват системы, что позволяет злоумышленникам выполнять произвольный код с наивысшими привилегиями, обходить механизмы безопасности, проводить кражу данных и даже поддерживать постоянный доступ.
Уязвимость затрагивает версии между 8.5p1 и 9.7p1. Версии до 4.4p1 также уязвимы к ошибке состояния гонки, если они не исправлены для CVE-2006-5051 и CVE-2008-4109 . Стоит отметить, что системы OpenBSD не подвержены уязвимости, поскольку они включают механизм безопасности, который блокирует уязвимость. Исправление было внедрено в версии 9.8p1.
Исследователи призывают организации немедленно установить обновления, перенастроить sshd и сегментировать сети, где это возможно. Если обновление или перекомпиляция sshd невозможны, то нужно установить параметр LoginGraceTime в 0 в конфигурационном файле. Это может сделать sshd уязвимым к DoS-атакам, но предотвращает риск выполнения удалённого кода.