概要
Git LFS(Large File Storage)は、大容量ファイルを Git リポジトリ外で管理するための拡張機能です。v3.7.0 以前において、細工されたシンボリックリンクを含むリポジトリを git lfs clone または git lfs pull した際に、リポジトリのルートディレクトリ外の任意のパスにファイルが書き込まれる脆弱性が存在します。
悪意あるリポジトリをクローンすることで、攻撃者はユーザーの権限で書き込み可能な任意のファイルシステム上の場所にファイルを配置できます。これにより、シェル設定ファイルや SSH 認証鍵などの上書きを通じたコード実行やアカウント乗っ取りが発生する可能性があります。
CVSSベクトル
| 要素 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | Required |
| Scope | Changed |
| Confidentiality | None |
| Integrity | High |
| Availability | High |
| CVSSスコア | High ※ GHSA 評価値 |
影響を受けるソフトウェア
| 製品 | 影響バージョン | 修正バージョン |
|---|---|---|
| git-lfs | v3.7.0 以前 | v3.7.1 以降 |
修正バージョンと回避策
推奨対応: git-lfs を v3.7.1 以降にアップデートしてください。
# Homebrew (macOS)
brew upgrade git-lfs
# apt (Debian/Ubuntu)
sudo apt update && sudo apt upgrade git-lfs
# または公式リリースページからバイナリを取得
# https://github.com/git-lfs/git-lfs/releases
暫定回避策(アップデートが困難な場合):
- 信頼できるリポジトリのみを LFS ファイルを含む形でクローン・プルする
- 不明なリポジトリに対して
git lfs pullを実行しない
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
