{"id":"ghsa-ghsa-83vg-56qc-22m7","seq":309563,"kind":"advisory","title":"GitPython validates a submodule's \".git\" path only after cloning into it (RCE)","url":"https://github.com/advisories/GHSA-83vg-56qc-22m7","permalink":"https://vulnpulse.app/items/ghsa-ghsa-83vg-56qc-22m7","summary":"影響: pip:Gitpython <= 3.2.0 → 3.2.1\ncreate_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…","severity":"high","techs":["python"],"cves":["CVE-2026-114145"],"tags":["GHSA-83vg-56qc-22m7","Gitpython"],"source":{"id":"ghsa","name":"GitHub Advisory Database"},"published_at":"2026-10-22T16:41:14.000Z","fetched_at":"2026-10-22T20:09:55.169Z"}