gitpython projectのgitpythonにおけるコードインジェクションの脆弱性
タイトル gitpython projectのgitpythonにおけるコードインジェクションの脆弱性
概要

GitPythonはGitリポジトリと対話するためのPythonライブラリです。バージョン3.1.49以前では、GitConfigParser.set_value()が改行を検証せずにPythonのconfigparserに値を渡していました。GitPython独自の_write()は埋め込み改行をインデント付きの継続行(例:\nが\n\tに)に変換しますが、Gitはインデント付きの[core]スタンザをセクションヘッダーとして認識します。そのため、注入されたcore.hooksPathが有効な設定となってしまいます。これにより、フックを呼び出すGitの操作(コミット、マージ、チェックアウト)は攻撃者が制御するパスのスクリプトを実行します。この問題はバージョン3.1.49で修正されました。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年5月7日0:00
登録日 2026年5月13日10:21
最終更新日 2026年5月13日10:21
CVSS3.0 : 重要
スコア 7.8
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
影響を受けるシステム
gitpython project
gitpython 3.1.49 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年05月13日]
  掲載
2026年5月13日10:21

NVD脆弱性情報
CVE-2026-44244
概要

GitPython is a python library used to interact with Git repositories. Prior to version 3.1.49, GitConfigParser.set_value() passes values to Python's configparser without validating for newlines. GitPython's own _write() converts embedded newlines into indented continuation lines (e.g. \n becomes \n\t), but Git still accepts an indented [core] stanza as a section header — so the injected core.hooksPath becomes effective configuration. Any Git operation that invokes hooks (commit, merge, checkout) will then execute scripts from the attacker-controlled path. This issue has been patched in version 3.1.49.

公表日 2026年5月8日4:16
登録日 2026年5月9日4:10
最終更新日 2026年5月12日2:44
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:* 3.1.49
関連情報、対策とツール
共通脆弱性一覧