## GitPython validates a submodule's ".git" path only after cloning into it (RCE)

- 種別: advisory
- 重大度: high
- 関連技術: python
- CVE: CVE-2026-114145
- 公開日時: 2026-10-22T16:41:14.000Z
- 情報源: GitHub Advisory Database (https://github.com/advisories/GHSA-83vg-56qc-22m7)
- パーマリンク: https://vulnpulse.app/items/ghsa-ghsa-83vg-56qc-22m7

影響: pip:Gitpython <= 3.2.0 → 3.2.1
create_submodule(name, path, url) clones a submodule into the repo's own .git directory before it rejects the path. A path of ".git/hooks" is accepted by the pre-clone check, so the submodule is cloned straight into the live hooks directory, and a file named post-checkout in the submodule becomes an executable .git/hooks/post-checkout. On 3.2.0+ the later index check does raise ValueError, but only after the clone already wrote to disk, and it does not remove the planted hook; on 3.1.x there is…