# gitpython (PyPI) vulnerabilities

44 known vulnerabilities (3 critical, 37 high, 3 medium), with the versions each affects and the releases that fix them.

## At a glance

- Latest release: 3.2.1 (Oct 14, 2026): no advisory affects it
- Newest unaffected release: 3.2.1 (Oct 14, 2026), the latest release
- Weekly downloads: 34.4M
- Dependents: 9,300
- Releases: 116 since 0.1.7 (Mar 21, 2010)
- Registry: https://pypi.org/project/gitpython/
- Releases read: Nov 8, 2026

## Version timeline

Affected versions per advisory, in version order:

- CVE-2026-114145: 0.1.7 to 3.2.0 (3.2.1 is outside it)
- CVE-2026-110860: 0.1.7 to 3.1.62 (3.2.0 is outside it)
- CVE-2026-110859: 0.1.7 to 3.1.62 (3.2.0 is outside it)
- CVE-2026-110858: 3.1.30 to 3.1.62 (3.2.0 is outside it)
- CVE-2026-110857: 0.1.7 to 3.1.62 (3.2.0 is outside it)
- CVE-2026-110856: 0.1.7 to 3.1.62 (3.2.0 is outside it)
- CVE-2026-110855: 0.1.7 to 3.1.62 (3.2.0 is outside it)
- CVE-2026-100689: 0.1.7 to 3.1.61 (3.1.62 is outside it)
- CVE-2026-87819: 0.1.7 to 3.1.59 (3.1.60 is outside it)
- CVE-2026-87818: 3.1.59 (3.1.60 is outside it)
- CVE-2026-87817: 0.1.7 to 3.1.59 (3.1.60 is outside it)
- CVE-2026-78679: 0.1.7 to 3.1.58 (3.1.59 is outside it)
- CVE-2026-78678: 0.1.7 to 3.1.58 (3.1.59 is outside it)
- CVE-2026-78677: 0.1.7 to 3.1.58 (3.1.59 is outside it)
- CVE-2026-78676: 0.1.7 to 3.1.58 (3.1.59 is outside it)
- CVE-2026-78675: 0.1.7 to 3.1.58 (3.1.59 is outside it)
- CVE-2026-76222: 0.1.7 to 3.1.57 (3.1.58 is outside it)
- CVE-2026-76221: 0.1.7 to 3.1.57 (3.1.58 is outside it)
- CVE-2026-76220: 0.1.7 to 3.1.57 (3.1.58 is outside it)
- CVE-2026-76219: 0.1.7 to 3.1.57 (3.1.58 is outside it)
- CVE-2026-76218: 0.1.7 to 3.1.57 (3.1.58 is outside it)
- CVE-2026-76217: 0.1.7 to 3.1.57 (3.1.58 is outside it)
- CVE-2026-73625: 0.1.7 to 3.1.53 (3.1.54 is outside it)
- CVE-2026-73624: 0.1.7 to 3.1.53 (3.1.54 is outside it)
- CVE-2026-73623: 0.1.7 to 3.1.53 (3.1.54 is outside it)
- CVE-2026-73622: 0.1.7 to 3.1.54 (3.1.55 is outside it)
- CVE-2026-73621: 0.1.7 to 3.1.55 (3.1.56 is outside it)
- CVE-2026-73620: 0.1.7 to 3.1.56 (3.1.57 is outside it)
- CVE-2026-73619: 0.1.7 to 3.1.56 (3.1.57 is outside it)
- CVE-2026-69097: 0.1.7 to 3.1.52 (3.1.53 is outside it)
- CVE-2026-67326: 0.1.7 to 3.1.49 (3.1.50 is outside it)
- CVE-2026-67324: 3.1.50 (3.1.51 is outside it)
- CVE-2026-67323: 0.1.7 to 3.1.50 (3.1.51 is outside it)
- CVE-2026-67322: 0.1.7 to 3.1.51 (3.1.52 is outside it)
- CVE-2026-67325: 0.1.7 to 3.1.50 (3.1.51 is outside it)
- CVE-2026-44243: 0.1.7 to 3.1.47 (3.1.48 is outside it)
- CVE-2026-44244: 0.1.7 to 3.1.48 (3.1.49 is outside it)
- CVE-2026-42284: 0.1.7 to 3.1.46 (3.1.47 is outside it)
- CVE-2026-42215: 3.1.30 to 3.1.46 (3.1.47 is outside it)
- CVE-2024-22190: 0.1.7 to 3.1.40 (3.1.41 is outside it)
- CVE-2023-41040: 0.1.7 to 3.1.36 (3.1.37 is outside it)
- CVE-2023-40590: 0.1.7 to 3.1.32 (3.1.33 is outside it)
- CVE-2023-40267: 0.1.7 to 3.1.31 (3.1.32 is outside it)
- CVE-2022-24439: 0.1.7 to 3.1.29 (3.1.30 is outside it)

## Advisories (44)

### [CVE-2026-114145](https://cve.now/CVE-2026-114145): GitPython validates a submodule's ".git" path only after cloning into it (RCE)

- Severity: High 7.5
- Published: Oct 21, 2026
- Affected: fixed in 3.2.1.
- Fixed in 3.2.1 (released Oct 14, 2026, 7 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-110860](https://cve.now/CVE-2026-110860): GitPython 3.1.62 before 3.2.0 Symlink Path Traversal via Submodule.move()

- Severity: Medium 6.9
- Published: Oct 14, 2026
- Affected: fixed in 3.2.0.
- Fixed in 3.2.0 (released Sep 30, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-110859](https://cve.now/CVE-2026-110859): GitPython before 3.2.0 Arbitrary File Read via Head.checkout() Branch Name

- Severity: High 8.7
- Published: Oct 14, 2026
- Affected: fixed in 3.2.0.
- Fixed in 3.2.0 (released Sep 30, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-110858](https://cve.now/CVE-2026-110858): GitPython 3.1.30 before 3.2.0 Command Injection via Remote.pull() Refspec

- Severity: Critical 9.2
- Published: Oct 14, 2026
- Affected: from 3.1.30, fixed in 3.2.0.
- Fixed in 3.2.0 (released Sep 30, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-110857](https://cve.now/CVE-2026-110857): GitPython before 3.2.0 Command Execution via ls\_remote ext:: URLs

- Severity: High 7.7
- Published: Oct 14, 2026
- Affected: fixed in 3.2.0.
- Fixed in 3.2.0 (released Sep 30, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-110856](https://cve.now/CVE-2026-110856): GitPython before 3.2.0 ReDoS via \_re\_actor\_epoch in parse\_actor\_and\_date

- Severity: High 8.7
- Published: Oct 14, 2026
- Affected: fixed in 3.2.0.
- Fixed in 3.2.0 (released Sep 30, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-110855](https://cve.now/CVE-2026-110855): GitPython before 3.2.0 Environment Variable Disclosure via .gitmodules Submodule Name

- Severity: High 7.1
- Published: Oct 14, 2026
- Affected: fixed in 3.2.0.
- Fixed in 3.2.0 (released Sep 30, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-100689](https://cve.now/CVE-2026-100689): GitPython before 3.1.62 Path Traversal via gitmodules path

- Severity: High 8.7
- Published: Sep 26, 2026
- Affected: fixed in 3.1.62.
- Fixed in 3.1.62 (released Sep 7, 2026, 19 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-87819](https://cve.now/CVE-2026-87819): GitPython before 3.1.60 Denial of Service via ReDoS

- Severity: High 8.7
- Published: Sep 9, 2026
- Affected: fixed in 3.1.60.
- Fixed in 3.1.60 (released Aug 25, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-87818](https://cve.now/CVE-2026-87818): GitPython 3.1.59 Local File Content Oracle via --no-index

- Severity: High 7.1
- Published: Sep 9, 2026
- Affected: from 3.1.59, fixed in 3.1.60.
- Fixed in 3.1.60 (released Aug 25, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-87817](https://cve.now/CVE-2026-87817): GitPython before 3.1.60 Remote Code Execution via Git Directory Impersonation

- Severity: High 8.7
- Published: Sep 9, 2026
- Affected: fixed in 3.1.60.
- Fixed in 3.1.60 (released Aug 25, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-78679](https://cve.now/CVE-2026-78679): GitPython before 3.1.59 Arbitrary File Read via TagReference.create

- Severity: High 7.1
- Published: Aug 25, 2026
- Affected: fixed in 3.1.59.
- Fixed in 3.1.59 (released Aug 10, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-78678](https://cve.now/CVE-2026-78678): GitPython before 3.1.59 Arbitrary File Read via Repo.blame()

- Severity: High 7.1
- Published: Aug 25, 2026
- Affected: fixed in 3.1.59.
- Fixed in 3.1.59 (released Aug 10, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-78677](https://cve.now/CVE-2026-78677): GitPython before 3.1.59 Path Traversal via separate-git-dir

- Severity: High 8.7
- Published: Aug 25, 2026
- Affected: fixed in 3.1.59.
- Fixed in 3.1.59 (released Aug 10, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-78676](https://cve.now/CVE-2026-78676): GitPython before 3.1.59 Remote Code Execution via Config Injection

- Severity: Critical 9.3
- Published: Aug 25, 2026
- Affected: fixed in 3.1.59.
- Fixed in 3.1.59 (released Aug 10, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-78675](https://cve.now/CVE-2026-78675): GitPython before 3.1.59 Local File Content Disclosure via .gitmodules

- Severity: High 8.6
- Published: Aug 25, 2026
- Affected: fixed in 3.1.59.
- Fixed in 3.1.59 (released Aug 10, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-76222](https://cve.now/CVE-2026-76222): GitPython before 3.1.58 Path Traversal via .gitmodules Submodule Name

- Severity: High 8.4
- Published: Aug 19, 2026
- Affected: fixed in 3.1.58.
- Fixed in 3.1.58 (released Aug 4, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-76221](https://cve.now/CVE-2026-76221): GitPython before 3.1.58 Config Injection via option-name

- Severity: High 8.7
- Published: Aug 19, 2026
- Affected: fixed in 3.1.58.
- Fixed in 3.1.58 (released Aug 4, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-76220](https://cve.now/CVE-2026-76220): GitPython before 3.1.58 Command Execution via split\_single\_char\_options

- Severity: High 8.7
- Published: Aug 19, 2026
- Affected: fixed in 3.1.58.
- Fixed in 3.1.58 (released Aug 4, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-76219](https://cve.now/CVE-2026-76219): GitPython before 3.1.58 Arbitrary File Overwrite via read-tree

- Severity: High 7.2
- Published: Aug 19, 2026
- Affected: fixed in 3.1.58.
- Fixed in 3.1.58 (released Aug 4, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-76218](https://cve.now/CVE-2026-76218): GitPython before 3.1.58 Remote Code Execution via Repo.init

- Severity: High 7.7
- Published: Aug 19, 2026
- Affected: fixed in 3.1.58.
- Fixed in 3.1.58 (released Aug 4, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-76217](https://cve.now/CVE-2026-76217): GitPython before 3.1.58 Arbitrary File Read via pathspec-from-file

- Severity: High 7.1
- Published: Aug 19, 2026
- Affected: fixed in 3.1.58.
- Fixed in 3.1.58 (released Aug 4, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73625](https://cve.now/CVE-2026-73625): GitPython before 3.1.54 Remote Code Execution via kwarg value smuggling

- Severity: High 8.7
- Published: Aug 13, 2026
- Affected: fixed in 3.1.54.
- Fixed in 3.1.54 (released Jul 22, 2026, 22 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73624](https://cve.now/CVE-2026-73624): GitPython before 3.1.54 Arbitrary File Overwrite via diff

- Severity: High 7.2
- Published: Aug 13, 2026
- Affected: fixed in 3.1.54.
- Fixed in 3.1.54 (released Jul 22, 2026, 22 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73623](https://cve.now/CVE-2026-73623): GitPython before 3.1.54 Remote Code Execution via --template

- Severity: High 7.7
- Published: Aug 13, 2026
- Affected: fixed in 3.1.54.
- Fixed in 3.1.54 (released Jul 22, 2026, 22 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73622](https://cve.now/CVE-2026-73622): GitPython before 3.1.55 Environment Variable Exfiltration via Remote.add()

- Severity: High 8.7
- Published: Aug 13, 2026
- Affected: fixed in 3.1.55.
- Fixed in 3.1.55 (released Jul 23, 2026, 21 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73621](https://cve.now/CVE-2026-73621): GitPython before 3.1.56 Arbitrary File Truncation via Commit.count

- Severity: Medium 5.3
- Published: Aug 13, 2026
- Affected: fixed in 3.1.56.
- Fixed in 3.1.56 (released Jul 25, 2026, 19 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73620](https://cve.now/CVE-2026-73620): GitPython before 3.1.57 Arbitrary File Overwrite and Read

- Severity: High 7.2
- Published: Aug 13, 2026
- Affected: fixed in 3.1.57.
- Fixed in 3.1.57 (released Jul 26, 2026, 18 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-73619](https://cve.now/CVE-2026-73619): GitPython before 3.1.57 Arbitrary File Read via Repo.archive()

- Severity: High 7.1
- Published: Aug 13, 2026
- Affected: fixed in 3.1.57.
- Fixed in 3.1.57 (released Jul 26, 2026, 18 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-69097](https://cve.now/CVE-2026-69097): GitPython before 3.1.53 Config Injection via Submodule Names

- Severity: High 7.3
- Published: Aug 3, 2026
- Affected: fixed in 3.1.53.
- Fixed in 3.1.53 (released Jul 20, 2026, 14 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-67326](https://cve.now/CVE-2026-67326): GitPython before 3.1.50 Newline Injection via config\_writer section

- Severity: High 7.3
- Published: Aug 1, 2026
- Affected: fixed in 3.1.50.
- Fixed in 3.1.50 (released May 6, 2026, 87 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-67324](https://cve.now/CVE-2026-67324): GitPython 3.1.50 Authentication Bypass via Joined Short Options

- Severity: Critical 9.3
- Published: Aug 1, 2026
- Affected: from 3.1.50, fixed in 3.1.51.
- Fixed in 3.1.51 (released Jul 12, 2026, 20 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-67323](https://cve.now/CVE-2026-67323): GitPython before 3.1.51 Command Injection via unguarded Git options

- Severity: High 8.6
- Published: Aug 1, 2026
- Affected: fixed in 3.1.51.
- Fixed in 3.1.51 (released Jul 12, 2026, 20 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-67322](https://cve.now/CVE-2026-67322): GitPython before 3.1.52 Environment Variable Exfiltration via clone\_from

- Severity: High 8.7
- Published: Aug 1, 2026
- Affected: fixed in 3.1.52.
- Fixed in 3.1.52 (released Jul 16, 2026, 16 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-67325](https://cve.now/CVE-2026-67325): GitPython before 3.1.51 Command Injection via option prefix abbreviation

- Severity: High 8.7
- Published: Aug 1, 2026
- Affected: fixed in 3.1.51.
- Fixed in 3.1.51 (released Jul 12, 2026, 20 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-44243](https://cve.now/CVE-2026-44243): GitPython: Path traversal in GitPython reference APIs allows arbitrary file write and delete outside the repository

- Severity: High 7.8
- Published: May 7, 2026
- Affected: fixed in 3.1.48.
- Fixed in 3.1.48 (released Apr 28, 2026, 9 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-44244](https://cve.now/CVE-2026-44244): GitPython: Newline injection in config\_writer().set\_value() enables RCE via core.hooksPath

- Severity: High 7.8
- Published: May 7, 2026
- Affected: fixed in 3.1.49.
- Fixed in 3.1.49 (released Apr 29, 2026, 8 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-42284](https://cve.now/CVE-2026-42284): GitPython: Unsafe option check validates multi\_options before shlex.split transforms it

- Severity: High 8.1
- Published: May 7, 2026
- Affected: fixed in 3.1.47.
- Fixed in 3.1.47 (released Apr 22, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2026-42215](https://cve.now/CVE-2026-42215): GitPython: Command injection via Git options bypass

- Severity: High 8.8
- Published: May 7, 2026
- Affected: from 3.1.30, fixed in 3.1.47.
- Fixed in 3.1.47 (released Apr 22, 2026, 15 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2024-22190](https://cve.now/CVE-2024-22190): Untrusted search path under some conditions on Windows allows arbitrary code execution

- Severity: High 7.8
- Published: Jan 11, 2024
- Affected: fixed in 3.1.41.
- Fixed in 3.1.41 (released Jan 10, 2024, 1 day before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2023-41040](https://cve.now/CVE-2023-41040): GitPython blind local file inclusion

- Severity: Medium 4.0
- Published: Aug 30, 2023
- Affected: fixed in 3.1.35; fixed in 3.1.37.
- Fixed in 3.1.37 (released Sep 22, 2023, 23 days after disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2023-40590](https://cve.now/CVE-2023-40590): Untrusted search path on Windows systems leading to arbitrary code execution

- Severity: High 7.8
- Published: Aug 28, 2023
- Affected: fixed in 3.1.33.
- Fixed in 3.1.33 (released Sep 1, 2023, 4 days after disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2023-40267](https://cve.now/CVE-2023-40267): GitPython before 3.1.32 does not block insecure non-multi options in clone and clone\_from.

- Severity: Unrated
- Published: Aug 11, 2023
- Affected: fixed in 3.1.32.
- Fixed in 3.1.32 (released Jul 10, 2023, 32 days before disclosure).
- The latest release, 3.2.1, is not affected.

### [CVE-2022-24439](https://cve.now/CVE-2022-24439): Remote Code Execution (RCE)

- Severity: High 8.1
- Published: Dec 12, 2022
- Affected: fixed in 3.1.30.
- Fixed in 3.1.30 (released Dec 29, 2022, 17 days after disclosure).
- The latest release, 3.2.1, is not affected.

---

Source: cve.now
Built by [Sazabi](https://www.sazabi.com/?utm_source=cve-now&utm_medium=markdown), AI-native observability and security: automatic issue detection, plain-language log search and live dashboards.
Page: https://cve.now/packages/pypi/gitpython
Site guide for agents: https://cve.now/llms.txt
Uses NVD data; not endorsed by NVD.
