GitPython Repo.archive() arbitrary file read
CVE-2026-73619 is an incomplete denylist vulnerability in GitPython versions before 3.1.57. The unsafe_git_archive_options guard used by Repo.archive() fails to prohibit Git's --add-file and --add-virtual-file options. An attacker able to control archive options can pass either option and cause readable local filesystem content to be added to the generated archive.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation results in unauthorized disclosure of arbitrary files readable by the account running the GitPython process. Sensitive application configuration, credentials, source code, or other local data may be included in the returned archive.
If you can’t patch tonight, do this now.
Until upgrading, do not pass untrusted option values or keyword arguments to Repo.archive(). Enforce an application-side allowlist of required archive options and execute GitPython workloads with least-privilege filesystem access.
Patch, then assume compromise.
Upgrade GitPython to version 3.1.57 or later.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
2 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.