Bug 2516147

Summary: CVE-2026-44244 GitPython: GitPython: Arbitrary code execution via injected newlines in Git configuration [epel-all]
Product: [Fedora] Fedora EPEL Reporter: Thomas Eagle <teagle>
Component: GitPythonAssignee: Lubomír Sedlář <lsedlar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: epel10CC: athoscribeiro, carlwgeorge, code, igor.raits, lsedlar
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["9327528c-58d0-419b-9b9a-3fd38454d6ea"]}
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-09-10 07:59:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2467804    

Description Thomas Eagle 2026-08-14 19:53:10 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

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.

Comment 1 Ben Beasley 2026-08-16 13:11:44 UTC
This is fixed in 3.1.49, which is already in EPEL9 and EPEL10. EPEL8 is at an old version affected by (at this point) dozens of known security issues, but can’t be straightforwardly updated.