PatchSiren cyber security CVE debrief
CVE-2026-114145 gitpython-developers CVE debrief
GitPython clones a submodule into the repo's own `.git` directory before validating the path, allowing for code execution if the submodule's path is set to `.git/hooks`. This vulnerability affects GitPython installations that use submodules, particularly in environments where submodules are utilized, enabling attackers to execute code on the next Git operation (e.g., checkout). Defenders should assess exposure and prioritize remediation, focusing on updating GitPython to version 3.2.1 or later. The vulnerability stems from the `create_submodule` function, which clones a submodule into the repository's `.git` directory before validating the path. This allows for code execution if a
- Vendor
- gitpython-developers
- Product
- gitpython
- CVSS
- HIGH 7.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-22
- Original CVE updated
- 2026-10-22
- Advisory published
- 2026-10-22
- Advisory updated
- 2026-10-22
Who should care
Defenders responsible for GitPython installations, especially in environments where submodules are used, should assess exposure and prioritize remediation. This includes verifying if GitPython is used, checking for vulnerable versions (<= 3.2.0), and updating to version 3.2.1 or later. Additionally, defenders should review compensating controls, monitor for suspicious activity, and track exceptions and retest remediated assets.
Why it matters
CVE-2026-114145 allows for code execution in GitPython installations that use submodules, requiring defenders to verify exposure and remediate vulnerable installations.
- Code execution on the next Git operation (e.g., checkout).
- Potential for unauthorized code execution in environments where submodules are used.
- Need for verification of exposure and remediation of vulnerable GitPython installations.
- Priority for updating GitPython to version 3.2.1 or later.
Technical summary
The `create_submodule` function in GitPython clones a submodule into the repository's `.git` directory before validating the path. This allows for code execution if the submodule's path is set to `.git/hooks`, as a file named `post-checkout` in the submodule becomes an executable `.git/hooks/post-checkout`. On GitPython versions 3.2.0 and earlier, the later index check raises a `ValueError` only after the clone has already written to disk, and it does not remove the planted hook. On version 3.1.x, there is no such check, and the call succeeds silently. Either way, the hook runs on the next Git operation (e.g., checkout), giving code execution. The vulnerability breaks the 'validate before mutation' invariant,
Defensive priority
Defenders should prioritize verifying exposure and remediating vulnerable GitPython installations, especially in environments where submodules are used.
Recommended defensive actions
- Verify if GitPython is used in the environment and if submodules are utilized.
- Check if the installed version of GitPython is vulnerable (<= 3.2.0).
- Update GitPython to version 3.2.1 or later.
- Monitor GitPython installations for suspicious activity.
- Review compensating controls for exposed systems while remediation is scheduled and verified.
- Track exceptions, retest remediated assets, and close the item only after evidence is documented.
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
Evidence notes
The source corpus provides details on the vulnerability, including a summary and technical details. However, it does not provide information on exploitation or affected versions beyond the vulnerable range.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-114145 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-114145
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-114145 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-114145
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
GitPython validates a submodule's ".git" path only after cloning into it (RCE)
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-83vg-56qc-22m7.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-83vg-56qc-22m7
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/gitpython-developers/GitPython/pull/2264
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/gitpython-developers/GitPython/commit/97eadb888d2f99567e3113f4e455be4ca128f697
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/gitpython-developers/GitPython
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/gitpython-developers/GitPython/releases/tag/3.2.1
Supplemental source
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.