В Банке данных угроз безопасности информации (BDU) зарегистрирована новая критическая уязвимость, затрагивающая библиотеку libssh2. Речь идёт о проблеме с идентификатором BDU:2026-08612, которая также закреплена в реестре CVE под номером CVE-2026-55200. Ситуация требует пристального внимания, поскольку эта библиотека встроена в огромное количество решений - от дистрибутивов Linux до встраиваемых систем и сетевых устройств.
Детали уязвимости
Уязвимость обнаружена в функции ssh2_transport_read(). Ошибка кроется в механизме обработки входящих SSH-пакетов. Из-за целочисленного переполнения возникает переполнение буфера. Простыми словами: злоумышленник может отправить на уязвимое устройство специально сформированный сетевой пакет, в результате чего внутренний счётчик длины данных выйдет за допустимые границы. Это приведёт к записи данных за пределы выделенной области памяти. Следовательно, нарушитель получает возможность выполнить произвольный код удалённо, не имея никаких учётных данных.
Масштаб угрозы действительно серьёзный. Библиотека libssh2 - это реализация протокола SSH, написанная на языке C. Она используется в популярных инструментах, таких как curl, libcurl, а также в ряде SSH-клиентов и серверов. Более того, её применяют в операционных системах реального времени и во множестве устройств Интернета вещей (IoT). То есть под ударом оказываются не только серверы в дата-центрах, но и промышленные контроллеры, маршрутизаторы и даже бытовая техника с поддержкой удалённого управления.
Оценка опасности по шкале CVSS подтверждает наихудшие ожидания. По версии CVSS 2.0 базовая оценка составляет максимальные 10 баллов. В более современной версии CVSS 3.1 показатель равен 9,8 балла, а по CVSS 4.0 - 9,2 балла. Во всех трёх системах классификации это соответствует критическому уровню опасности. Вектор атаки сетевой, то есть для эксплуатации не требуется физического доступа к устройству. Сложность атаки низкая, а для её запуска не нужна аутентификация. Всё это означает, что любой компьютер, имеющий сетевой доступ к уязвимому серверу, может быть использован для атаки.
Особую тревогу вызывает тот факт, что для этой уязвимости уже существует эксплойт, находящийся в открытом доступе. В списке источников указан репозиторий на GitHub, где размещён код атаки. Кроме того, на портале VulnCheck и в других базах уязвимостей опубликованы технические детали. Это означает, что время на подготовку к защите практически исчерпано. Злоумышленники могут начать сканирование сети и атаковать незащищённые системы в ближайшее время.
Какие версии находятся под угрозой? Уязвимы все версии библиотеки libssh2 вплоть до версии 1.11.1 включительно. Разработчики из сообщества свободного программного обеспечения уже выпустили исправление. Патч доступен в виде коммита в официальном репозитории проекта на GitHub. Рекомендуется как можно скорее обновить библиотеку до актуальной версии. В частности, в коммите с идентификатором 97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 внесены изменения, которые блокируют целочисленное переполнение и, соответственно, предотвращают переполнение буфера.
Каковы возможные последствия эксплуатации этой уязвимости? Поскольку атакующий может выполнить произвольный код, он способен полностью захватить контроль над целевой системой. Это означает, что злоумышленник может украсть конфиденциальные данные, установить программы-вымогатели, использовать сервер для дальнейших атак или просто вывести его из строя. Особенно опасна ситуация для инфраструктуры, где SSH используется для автоматизированного управления. Компрометация одного устройства может привести к лавинообразному распространению атаки внутри сети.
Стоит отметить, что тип ошибки классифицируется как CWE-680 (переполнение буфера в связи с целочисленным переполнением). Это классический класс уязвимостей, характерный для языков программирования, в которых нет автоматической проверки границ памяти. Разработчикам, использующим libssh2, стоит обратить внимание на связанные зависимости. Например, если ваше приложение использует библиотеку libcurl, которая, в свою очередь, линкуется с libssh2, обновлять нужно обе цепочки.
Специалистам по информационной безопасности рекомендуется в срочном порядке провести инвентаризацию используемых версий libssh2. Необходимо проверить не только серверные операционные системы, но и образы контейнеров, виртуальные машины, а также встроенное программное обеспечение сетевого оборудования. Если прямое обновление невозможно (например, на встраиваемых системах без доступа к обновлениям), в качестве временной меры можно ограничить сетевой доступ к SSH-портам или настроить системы обнаружения вторжений (IDS) для блокировки аномальных SSH-пакетов. Однако важно понимать, что лишь установка патча полностью устраняет угрозу.
В заключение стоит подчеркнуть: эта уязвимость - очередное напоминание о том, насколько критично своевременное управление обновлениями для широко используемых компонентов с открытым исходным кодом. Одной строчки кода в популярной библиотеке достаточно, чтобы поставить под удар миллионы устройств по всему миру. Рекомендуется следить за бюллетенями безопасности и оперативно применять исправления, особенно если речь идёт о библиотеках, работающих с сетевыми протоколами на низком уровне.
Ссылки
- https://bdu.fstec.ru/vul/2026-08612
- https://www.cve.org/CVERecord?id=CVE-2026-55200
- https://github.com/libssh2/libssh2/commit/97acf3dfda80c91c3a8c9f2372546301d4a1a7a8
- https://github.com/bikini/exploitarium/tree/main/libssh2-cve-2026-55200-poc
- https://www.vulncheck.com/advisories/libssh2-out-of-bounds-write-via-unchecked-packet-length-in-transport-c
- https://vulners.com/cve/CVE-2026-55200