つみかさね

CVE-2026-5917

High(8.8)

libgit2のシェルコマンドインジェクション CVE-2026-5917:影響範囲と対応方法

公開日: 2026-09-26データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
libgit2(libssh2バックエンド)libgit2< 1.8.7, 1.9.0 <= x < 1.9.7

対応ガイド

high|推奨セキュリティ修正影響: 広範

推奨アクション

  1. 1依存するlibgit2のバージョンとSSHバックエンドを確認する
  2. 2libgit2 1.8.7 / 1.9.7以降へアップデートする
  3. 3信頼できないリポジトリの再帰クローンを避ける

影響対象

libgit2利用者(libssh2バックエンド)

対応不要な人

  • ✓libgit2やlibssh2バックエンドを使用していない、または1.8.7/1.9.7以降を利用している場合

補足

  • -libgit2を同梱するツール・アプリ側の更新も必要です
CVElibgit2コマンドインジェクションSSHサプライチェーン

30秒で判断

  • 対応すべき人: libssh2 SSHバックエンド(USE_SSH=libssh2)でビルドされた libgit2 1.8.7未満、または1.9.0〜1.9.7未満を利用しているツール・アプリの開発者/運用者。
  • 対応不要な人: libgit2 を使用していない方、libssh2 バックエンドを使用していない方、1.8.7 / 1.9.7 以降を利用している方。
  • 確認コマンド: 依存する libgit2 のバージョンとSSHバックエンド(libssh2 か否か)を確認。

概要

libgit2 の libssh2 SSHバックエンドには、シェルコマンドインジェクションの脆弱性があります(CWE-78)。ssh_libssh2.c の gen_proto() 関数が、リポジトリパスを特殊文字のエスケープなしにシェルコマンド文字列へ直接組み込み、libssh2_channel_exec() に渡してしまいます。

このため、シングルクォート・セミコロン・パイプなどのシェルメタ文字を含むリポジトリパスを与えると、リモートSSHサーバ側のシェルが注入されたコマンドを解釈する可能性があります。具体的には、.gitmodules に細工したサブモジュールURLを仕込み、再帰クローン時に処理させることで、被害者のSSHユーザー権限でコマンドが実行され得ます。libgit2 は多くのGit連携ツールが依存する基盤ライブラリのため、影響範囲は広いと考えられます。

CVSSベクトル

項目値
CVSSスコア8.8(High)
攻撃元区分 (AV)ネットワーク
攻撃条件の複雑さ (AC)低
必要な権限 (PR)低
CWECWE-78(OSコマンドインジェクション)

影響を受けるソフトウェア

製品ベンダーバージョン
libgit2(libssh2バックエンド)libgit2< 1.8.7、および 1.9.0 <= x < 1.9.7

修正バージョンと回避策

libgit2 1.8.7 以降、または 1.9.7 以降へアップデートしてください。libgit2 を組み込んでいるアプリケーションやツールは、同梱している libgit2 のバージョンを確認し更新してください。信頼できないリポジトリの再帰クローンを避けることも緩和策になります。

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。