CVE-2026-44244
GitPython: Newline injection in config_writer().set_value() enables RCE via core.hooksPath
HIGH 7.8EPSS 0.2%
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.
- Affected
- gitpython-developers · GitPython
- CVSS v3.1 GITHUB
- 7.8 HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - EPSS
- 0.22% chance of exploitation in the next 30 days, 12th percentile
- Published
- 2026-05-07
- Updated
- 2026-05-09
Proof-of-concept exploits (1)
Security advisories
- gitpython-developers/GitPython/security/advisories/GHSA-v87r-6q3f-2j67
- gitpython-developers/GitPython/releases/tag/3.1.49