libssh2 の脆弱性 CVE-2026-55200 が FIX:細工された SSH パケットによる RCE の恐れ

Critical libssh2 Vulnerability Lets Remote Attackers Execute Code via Crafted SSH Packets

2026/06/23 gbhackers — 広く使用されているクライアント側 SSH ライブラリである libssh2 に存在する、深刻なセキュリティ脆弱性 CVE-2026-55200 を悪用するリモート攻撃者は、特別に細工された SSH パケットの送信によりコード実行を引き起こす可能性がある。この脆弱性は CVSS スコア 9.2 と評価されており、libssh2 のバージョン 1.11.1 以下に影響するものである。セキュリティ研究者 Tristan Madani による責任ある開示を受けて、最新のパッチ・コミット (7acf3df) で修正された。

この整数オーバーフローの脆弱性は CWE-680 に分類され、バッファ・オーバーフローを引き起こすものである。この欠陥は “transport.c” 内の ssh2_transport_read() 関数に存在し、packet_length フィールドの不十分な検証により、範囲外の書き込みを引き起こす恐れがある。さらに、この関数は、受信パケットサイズに対して適切な上限を強制できないため、割り当てられたメモリ制限を超える過大な値の指定を、攻撃者に許すことになる。

実際の悪用シナリオにおけるリモート攻撃者は、libssh2 を使用する脆弱なアプリケーションに接続し、packet_length フィールドを改竄した不正な SSH パケットを送信する。続いて、不適切な境界チェックにより、ライブラリが不十分なメモリ領域を割り当てることで、結果としてバッファ範囲を超えた書き込みへと至る。

その結果として、ヒープ破損が発生し、攻撃者は隣接するメモリ構造体の上書きを達成し、影響を受けるアプリケーションのコンテキスト内で任意のコード実行を引き起こす恐れがある。

この脆弱性は、認証を必要とせずにネットワーク経由で悪用できるものであるため、公開されたシステムにおいてリスクを大幅に高める。さらに CVSS v4 ベクターは、攻撃の複雑さが低くユーザー操作が不要であることを示している。そのため、特に libssh2 が SSH 通信を処理する自動化サービス/組み込みシステム/バックエンド・インフラストラクチャに統合されている環境において悪用が容易になる。

また、セキュリティ研究者たちが指摘するのは、libssh2 がファイル転送ユーティリティ/自動化フレームワーク/カスタム SSH クライアントに組み込まれている点であり、この広範な利用により潜在的な攻撃対象領域が拡大するとしている。

特に、企業環境では、ライブラリが静的リンクされているため、標準的なパッケージ管理ツールでは容易に特定できない場合がある。そのため主要システムが最新の状態に見えていても、脆弱なインスタンスを認識しない状態で運用している可能性がある。


libssh2 のメンテナーは、メモリの割り当ておよび処理の前に、packet_length フィールドに厳格な境界チェックを導入することで、不適切な検証ロジックに対処するパッチをリリースした。これを受けて、開発者に強く推奨されるのは、パッチ適用済みバージョンへの更新もしくは、公式 GitHub リポジトリの修正を適用することである。関連する pull request とコミットには、この問題を緩和するコード変更の詳細が示されている。

また、パッチ適用までの緩和策として挙げられるのは、SSH アクセスを信頼できるホストに制限し、ネットワーク・レベルのフィルタリングを実装し、悪用の試みを示す可能性がある異常な SSH トラフィック・パターンを監視することである。指標としては、通常より大きな SSH パケットや、libssh2 に関連する予期しないアプリケーション・クラッシュなどが想定される。

この脆弱性が示すのは、広く使用されるライブラリにおいてメモリ安全性の問題が継続的なリスクをもたらす状況であり、ネットワーク・プロトコル実装における厳格な入力検証の必要性を改めて強調している。

libssh2 に依存する組織は、パッチ適用を優先する必要がある。それに加えて、環境全体の脆弱なインスタンスを特定/修復するための、依存関係の包括的な監査を実施すべきである。