注目★★★★★GitHub Advisory
GitPython に任意ファイル上書き・読み取り脆弱性、git オプション検証漏れ
30秒で把握
- 1GitPython に git オプション検証漏れ・2 メソッドで任意ファイル上書き/読み取り可能
- 2IndexFile.checkout() の `--prefix` でリポジトリ内容を任意パスに上書き可能
- 3TagReference.create() の `-F` オプションで任意ファイル読み取り・内容返却されるリスク
要約
GitPython の IndexFile.checkout() と TagReference.create() に、git オプション検証漏れ由来の脆弱性 2 件が存在する。IndexFile.checkout() では `--prefix` オプションで任意ファイルを上書き、TagReference.create() では `-F` オプションで任意ファイルを読み取り可能となる。同じ欠陥クラスは以前 Commit.count()、Repo.archive()、Git.ls_remote() で修正されており、当該 2 件は HEAD でも残存している。
あなたへの影響
GitPython をライブラリとして組み込む場合。
推奨:ユーザー入力を直接 checkout() や create() に渡さないよう実装を見直し、次スプリントで脆弱性対応版への更新を計画してください。