libssh2に深刻な整数オーバーフロー脆弱性2件、PoC公開

脆弱性・脅威情報

SSHクライアントライブラリ「libssh2」に深刻な整数オーバーフロー脆弱性が2件確認されました。うち1件(CVE-2026-55200)はCVSSスコア9.2の緊急レベルで認証不要のリモートコード実行(RCE)が可能とされており、もう1件(CVE-2026-58050、CVSS 8.3)も公開鍵認証処理に実証コード(PoC)付きの脆弱性が確認されています。libssh2はcurl・バックアップエージェント・SFTPクライアント等に広く組み込まれており、影響範囲の特定と迅速な対応が求められます。

この記事でわかること

  • libssh2の2つの脆弱性(CVE-2026-55200・CVE-2026-58050)の内容と深刻度
  • どのようなソフトウェア・環境が影響を受けるか
  • 「クライアントが被害者」となる攻撃シナリオ
  • 情シスが今すぐ確認・対応すべきこと

libssh2とは――情シスが見落としがちな「見えにくい依存ライブラリ」

libssh2はC言語で実装されたSSH2クライアントライブラリです。直接意識する機会は少ないものの、以下のようなソフトウェアが内部で利用しています。

  • curl(SFTPプロトコルサポート)
  • WinSCP(SFTPクライアント)
  • PHP ssh2拡張(WebサーバからのSSH操作)
  • 各種バックアップエージェント、ファームウェアアップデートツール
  • 監視ツール、スクリプト自動化フレームワーク

「自社でSSHを直接使っていない」という状況でも、バックアップソフトや定期SFTPジョブの裏側でlibssh2が稼働しているケースは少なくありません。今回の脆弱性の影響を評価するには、こうしたサプライチェーン的な依存関係の確認が不可欠です。

2件の脆弱性の詳細

CVE-2026-55200(CVSS 9.2:緊急、認証不要RCE)

項目 内容
CVSSスコア 9.2(Critical)
攻撃条件 ネットワーク経由・認証不要・ユーザー操作不要(AV:N/AC:L/PR:N/UI:N)
影響バージョン libssh2 1.11.1以前
脆弱箇所 ssh2_transport_read() 関数
脆弱性種別 整数オーバーフロー → ヒープバッファオーバーフロー(CWE-680)
公開日 2026年6月17日(NVD)
修正コミット 97acf3dfda80c91c3a(LIBSSH2_PACKET_MAXPAYLOADによる上限チェック追加)

SSHパケット内の packet_length フィールドに上限チェックが存在せず、攻撃者が制御した巨大な値を送り込むことで整数オーバーフローが発生します。ヒープ上の隣接データを上書きしてRCEを実現でき、悪意あるSSHサーバにクライアントが接続するだけでトリガーされる点が特に危険です。GitHubでPoC(概念実証コード)が公開されており、悪用リスクは現実的なレベルに達しています。

CVE-2026-58050(CVSS 8.3/v4.0・7.0/v3.1:高)

項目 内容
CVSSスコア 8.3(CVSSv4.0)/7.0(CVSSv3.1)High
影響バージョン libssh2 1.11.1以前(2026年6月24日時点のソースでも動作確認済み)
脆弱箇所 publickey-subsystem応答の属性カウント処理
脆弱性種別 整数オーバーフロー → ヒープバッファオーバーフロー
CVE採番 VulnCheck
公開日 2026年6月29日

公開鍵認証(publickey-subsystem)の応答に含まれる攻撃者制御の32ビット属性カウント値を、境界チェックなしにメモリ確保の計算へ使用してしまう欠陥です。32ビット環境では整数オーバーフローにより確保サイズが小さくなり、その後の書き込みでヒープが破壊されます。Windows環境での実証コードでは電卓アプリ(calc.exe)の起動が確認されており、悪意あるSSHサーバへの接続時に悪用されるリスクがあります。2026年6月29日時点で公式リリースによる修正は未確認のため、継続的な情報監視が必要です。

攻撃シナリオ:「クライアントが被害者」という逆転の構図

2件に共通するのは、接続する側(クライアント)が脆弱性を持つという点です。通常のSSH脆弱性ではサーバ側がターゲットになりますが、今回はクライアントが攻撃の起点となります。

具体的に想定される経路は次のとおりです。

  • 取引先や外部クラウドストレージのSFTPサーバが侵害されている場合
  • DNSポイズニングやBGPハイジャックで通信が不正サーバへ誘導される場合
  • 中間者攻撃(MITM)が成立している内部ネットワーク環境

バックアップソフトや監視ツールはサービスとして常時・定期実行されているケースが多く、深夜のSFTPバックアップジョブが踏み台になるというシナリオも否定できません。

現場目線:「自社のcurlのバージョンをご存知ですか?」

libssh2が厄介なのは、組織のどのシステムに組み込まれているかが見えにくい点です。「ゼロトラスト化したから安心」という環境でも、バックアップエージェントやLinuxサーバに同梱されたcurlが内部でlibssh2を利用しているケースがあります。

SBOM(ソフトウェア部品表)を整備していない組織では、「libssh2が動いているサーバの一覧を30分で出せますか?」という問いに即答できないのが現実です。今回の騒ぎを、間接依存ライブラリの棚卸し・可視化の契機にしたいところです。脆弱性スキャナーのライブラリ検出機能を使いきれていない場合も見直しの機会です。

情シスはどうすべきか

まずlibssh2の利用箇所を把握することが優先です。

  1. 資産・依存関係の確認:サーバおよびクライアント端末でlibssh2ライブラリ本体や、それを利用するソフトウェア(curl、WinSCP、PHP ssh2拡張等)のバージョンを確認する
  2. CVE-2026-55200の修正適用:修正コミット(97acf3df)が取り込まれたバージョンへの更新を確認。各Linuxディストリビューションのパッケージリポジトリおよびソフトウェアベンダーのリリースノートをチェックする
  3. CVE-2026-58050の情報監視:2026年6月29日時点で公式パッチリリースが未確認。JVNおよびJPCERT/CCのアドバイザリ、libssh2公式リポジトリを継続監視し、リリース次第速やかに適用する
  4. 接続先SSHサーバの信頼性確認:libssh2を利用するツール・スクリプトの接続先ホストを棚卸しし、意図しない変更や不審なホストへの接続がないか確認する

脆弱性対応の優先度付けや社内への説明材料として、IPAの公的ガイドラインも参考にしてください:中小企業の情報セキュリティ対策ガイドライン(IPA)

まとめ

  • libssh2 1.11.1以前に整数オーバーフロー脆弱性2件:CVE-2026-55200(CVSS 9.2)はRCE可能・認証不要、CVE-2026-58050(CVSS 8.3)もPoC公開済みで危険度が高い
  • 「クライアントが被害者」のシナリオ:悪意あるSSHサーバへの接続だけでトリガーされるため、接続先の信頼性確認と定期ジョブの洗い出しが重要
  • 見えにくい依存ライブラリの棚卸しを:curl・バックアップツール等に組み込まれているケースが多く、SBOMや資産管理の観点から影響範囲の特定が急務

出典

タイトルとURLをコピーしました