
Подробный анализ критической уязвимости записи за пределами границ до аутентификации в libssh2, приводящей к удаленному выполнению кода, с описанием первопричины, обнаружения и рекомендаций по смягчению.
| Поле | Описание |
|---|
| CVE | CVE-2026-55200 |
| CVSS | 9.2 Критический |
| Тип | Запись за границами буфера |
| Компонент | libssh2 |
| Затронутые версии | <= 1.11.1 |
| Вектор атаки | Сеть |
| Требуемые привилегии | Нет |
| Взаимодействие пользователя | Нет |
| Влияние | Удаленное выполнение кода (RCE), Отказ в обслуживании (DoS) |
| Исправлено в | Commit 97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 |
| Дата раскрытия | Июнь 2026 |
CVE-2026-55200 — это критическая уязвимость повреждения памяти, затрагивающая широко используемую библиотеку libssh2.
Ошибка находится в логике обработки пакетов транспортного уровня SSH внутри:
ssh2_transport_read()
Функция не проверяет должным образом входящее поле:
packet_length
перед выделением и обработкой данных пакета.
Удаленный злоумышленник может отправить специально сформированный SSH-пакет, содержащий завышенное значение длины, что приводит к:
Поскольку уязвимость срабатывает во время обработки пакетов транспортного уровня SSH, эксплуатация может произойти до аутентификации, что значительно повышает серьезность проблемы.
Упрощенная уязвимая последовательность:
packet_length = read_packet_length();
buffer = malloc(packet_length);
memcpy(buffer, incoming_data, packet_length);
Если packet_length контролируется злоумышленником и превышает ожидаемые границы:
Attacker
│
▼
Crafted SSH Packet
│
▼
Oversized packet_length
│
▼
Heap Corruption
│
┌──┴──┐
▼ ▼
DoS Potential RCE
| Компонент | Затронутые версии |
|---|---|
| libssh2 | <= 1.11.1 |
Любое приложение, использующее libssh2, может быть уязвимо, включая:
Примечание: OpenSSH сам не использует libssh2 и не затрагивается напрямую.
| Требование | Значение |
|---|---|
| Доступ к сети | Обязательно |
| Аутентификация | Не требуется |
| Взаимодействие пользователя | Не требуется |
| Сложность атаки | Низкая |
| Удаленная атака | Да |
Командам безопасности следует отслеживать:
ssh2_transport_read()pkg-config --modversion libssh2
dpkg -l | grep libssh2
apt-cache policy libssh2-1
rpm -qa | grep libssh2
dnf info libssh2
apk info | grep libssh2
ldconfig -p | grep libssh2
find /usr -type f -executable -exec ldd {} \; 2>/dev/null | grep libssh2
Обновитесь до версии, содержащей коммит:
97acf3dfda80c91c3a8c9f2372546301d4a1a7a8
sudo apt update
sudo apt upgrade libssh2-1
sudo reboot
sudo dnf update libssh2
sudo reboot
sudo dnf upgrade --refresh libssh2
sudo reboot
apk update
apk upgrade libssh2
Пока исправления недоступны:
sudo ufw allow from TRUSTED_IP to any port 22
sudo ufw deny 22
iptables -A INPUT -p tcp --dport 22 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_IP" port protocol="tcp" port="22" accept'
firewall-cmd --reload
Компилируйте приложения с:
-fstack-protector-strong
-D_FORTIFY_SOURCE=2
-fPIE
-pie
-Wl,-z,relro,-z,now
Включите:
✓ ASLR
✓ Стековые канарейки
✓ RELRO
✓ NX
✓ PIE
✓ Последние обновления безопасности
Для недоверенных рабочих нагрузок:
docker run \
--read-only \
--cap-drop=ALL \
--security-opt no-new-privileges
Дополнительные рекомендации:
Разверните:
| Категория | Оценка |
|---|---|
| Эксплуатируемость | Высокая |
| Сложность | Низкая |
| Аутентификация | Отсутствует |
| Удаленная атака | Да |
| Риск цепочки поставок | Высокий |
| Доступность из интернета | Высокая |
| Дата | Событие |
|---|---|
| Июнь 2026 | Уязвимость публично раскрыта |
| Июнь 2026 | Выпущено уведомление безопасности |
| Июнь 2026 | Опубликован исправляющий коммит |
| Июнь 2026+ | Начинается выпуск исправлений от вендоров |
| Ресурс | Ссылка |
|---|---|
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-55200 |
| libssh2 Project | https://libssh2.org |
| GitHub Repository | https://github.com/libssh2/libssh2 |
| Fix Commit | https://github.com/libssh2/libssh2/commit/97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 |
Нет. OpenSSH не использует libssh2 внутри себя.
Да. Уязвимость потенциально может быть вызвана до аутентификации.
Успешная эксплуатация зависит от:
Однако уязвимости повреждения памяти этого класса традиционно считаются очень опасными.
На момент публикации нет публично подтвержденных сообщений об активной эксплуатации.
Этот репозиторий предназначен только для образовательных целей и целей защиты информации.
Не используйте никакую информацию или код из этого репозитория в системах, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения.
Обновляйтесь рано • Аудируйте зависимости • Защитите свою цепочку поставок 🛡️
Кибербезопасность • Исследование уязвимостей • Threat Intelligence