Description
GitPython before 3.1.57 contains an incomplete denylist in the unsafe_git_archive_options guard that omits --add-file and --add-virtual-file options. Attackers can supply these options to Repo.archive() to read arbitrary files from the filesystem and include them in the returned archive.
Published: 2026-08-13
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

GitPython before 3.1.57 contains an incomplete denylist that allows the unsafe_git_archive_options guard to accept the --add-file and --add-virtual-file options. An attacker who can influence the arguments passed to Repo.archive() can cause the function to read any file on the filesystem and include it in the generated archive, thereby compromising confidentiality. The weakness is a directory traversal and arbitrary file read flaw (CWE‑73).

Affected Systems

The vulnerability affects the GitPython library developed by gitpython-developers. Any code that imports gitpython and calls git.Repo.archive() before the 3.1.57 release is vulnerable. Specifically, systems running GitPython versions below 3.1.57, such as 3.1.56 or earlier, are impacted.

Risk and Exploitability

The CVSS score of 7.1 indicates a high likelihood for exploitation. No EPSS score is available, so we cannot quantify current exploitation probability, but the absence of the vulnerability from the KEV catalog suggests it is not a known exploited vulnerability at this time. Nonetheless, if an attacker can provide malicious options to the archive function—such as through untrusted input or a compromised dependency—they could read arbitrary files on the host. The typical attack vector involves code execution in the GitPython library context; local privilege may remain required unless the application runs with elevated privileges.

Generated by OpenCVE AI on August 13, 2026 at 12:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the GitPython library to version 3.1.57 or later, where the denylist has been corrected.
  • Review any custom usage of Repo.archive() and verify that no disallowed options are passed; remove or sanitize any input that may supply '--add-file' or '--add-virtual-file'.
  • If an upgrade is not immediately possible, disable the use of Repo.archive() in insecure contexts or replace it with a safer archival method that does not expose file read capabilities.

Generated by OpenCVE AI on August 13, 2026 at 12:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Gitpython-developers
Gitpython-developers gitpython
Vendors & Products Gitpython-developers
Gitpython-developers gitpython

Thu, 13 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Description GitPython before 3.1.57 contains an incomplete denylist in the unsafe_git_archive_options guard that omits --add-file and --add-virtual-file options. Attackers can supply these options to Repo.archive() to read arbitrary files from the filesystem and include them in the returned archive.
Title GitPython before 3.1.57 Arbitrary File Read via Repo.archive()
Weaknesses CWE-73
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Gitpython-developers Gitpython
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-13T11:28:20.737Z

Reserved: 2026-08-13T11:16:27.835Z

Link: CVE-2026-73619

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T12:17:26.913

Modified: 2026-08-13T12:17:26.913

Link: CVE-2026-73619

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T13:15:03Z

Weaknesses
  • CWE-73

    External Control of File Name or Path