Arbitrary file read via unvalidated pathspec options
Published Aug 19, 2026 · Updated Aug 25, 2026
External control of file paths in GitPython before 3.1.58 allows remote authenticated users to read files accessible to the process. IndexFile.remove() and Head.checkout() pass unvalidated keyword options to git rm and git checkout, letting pathspec-from-file and pathspec-file-nul make Git quote a chosen file verbatim in GitCommandError.stderr. Exploitation requires a consuming application to pass attacker-controlled path arguments and expose or log the exception; disclosure is limited to process-readable files whose paths do not match tracked paths.
Summary
What happened
External control of file paths in GitPython before 3.1.58 allows remote authenticated users to read files accessible to the process. IndexFile.remove() and Head.checkout() pass unvalidated keyword options to git rm and git checkout, letting pathspec-from-file and pathspec-file-nul make Git quote a chosen file verbatim in GitCommandError.stderr. Exploitation requires a consuming application to pass attacker-controlled path arguments and expose or log the exception; disclosure is limited to process-readable files whose paths do not match tracked paths.
The record
- CVE
- CVE-2026-76217
- Published
- Aug 19, 2026
- Updated
- Aug 25, 2026
- Vendor
- GitPython Developers
- Product
- GitPython
- Classifications
- CWE-73, T1005
- Attack vector
- network
- Privileges
- authenticated
Timeline
How it unfolded
- Aug 19, 2026CVE publishedPublication date reported by the CVE source.
- Aug 25, 2026Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=0 <3.1.58
What conditions does exploitation require?
What is affected?
Published CVSS scores
CVSS describes severity. EPSS estimates exploitation probability.
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Public exploit references
- GitPython pathspec file-read proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo