Home

Description

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.

PUBLISHED Reserved 2026-05-05 | Published 2026-05-07 | Updated 2026-05-07 | Assigner GitHub_M




HIGH: 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Problem types

CWE-94: Improper Control of Generation of Code ('Code Injection')

Product status

< 3.1.49
affected

References

github.com/...Python/security/advisories/GHSA-v87r-6q3f-2j67 exploit

github.com/...Python/security/advisories/GHSA-v87r-6q3f-2j67

github.com/...ython-developers/GitPython/releases/tag/3.1.49

cve.org (CVE-2026-44244)

nvd.nist.gov (CVE-2026-44244)

Download JSON