Критические уязвимости обнаружены в популярной SSH-библиотеке, сообщают эксперты.




В текущей версии библиотеки SSH с открытым исходным кодом libssh2 обнаружены две опасные уязвимости. Злоумышленники могут использовать их для потенциального выполнения вредоносного кода или временной блокировки процессора клиентской системы в бесконечном цикле. В коде обе уязвимости уже исправлены. Однако нового релиза, включающего эти исправления, пока, по-видимому, не существует.

Одна из двух уязвимостей зарегистрирована как CVE-2026-55200 (открывается в новом окне) и имеет критический уровень опасности с оценкой CVSS 9,2. Согласно описанию (открывается в новом окне), причина этой уязвимости кроется в недостаточной проверке размера поля данных package_length в функции ssh2_transport_read().

Злоумышленники могут использовать CVE-2026-55200, отправляя специально сформированные SSH-пакеты с чрезмерно большими значениями package_length, что приводит к записи данных за пределами выделенной памяти. Результатом является повреждение кучи, что в худшем случае позволяет внедрить и выполнить вредоносный код.

Цикл CPU в SSH-клиентах

Вторая уязвимость зарегистрирована как CVE-2026-55199 (открывается в новом окне) и имеет высокий уровень опасности (CVSS: 8,2). Согласно уведомлению GitHub (открывается в новом окне), это уязвимость типа «отказ в обслуживании». Для её эксплуатации злоумышленник должен запустить собственный SSH-сервер и заставить клиента подключиться к нему.

«Вредоносный сервер может во время обмена ключами установить значение nr_extensions в 0xFFFFFFFF, из-за чего клиент зависнет в тесном цикле CPU более чем на 60 секунд, поскольку возвращаемые значения _libssh2_get_string() не проверяются, а временные ограничения сеанса для циклов, привязанных к CPU, не применяются», — говорится в описании.

Все версии libssh2 вплоть до версии 1.1.1, считавшейся актуальной с октября 2024 года (открывается в новом окне), уязвимы для CVE-2026-55199 и CVE-2026-55200. Исправления предоставлены в коммитах 1762685 (открывается в новом окне) и 97acf3d (открывается в новом окне). Когда выйдет новый релиз с этими двумя исправлениями, пока неясно.