CVE-2026-44244 PUBLISHED

GitPython: Newline injection in config_writer().set_value() enables RCE via core.hooksPath

Assigner: GitHub_M
Reserved: 05.05.2026 Published: 07.05.2026 Updated: 07.05.2026

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.

Metrics

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

Product Status

Vendor gitpython-developers
Product GitPython
Versions
  • Version < 3.1.49 is affected

References

Problem Types

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