Command execution via short-option token smuggling
Published Aug 19, 2026 · Updated Aug 20, 2026
Argument injection in GitPython before 3.1.58 allows attackers to execute OS commands via crafted kwargs passed to guarded Git methods. The check_unsafe_options guard examines only the bare single-character option when split_single_char_options=False, but transform_kwarg later joins that key and attacker-controlled value into one token that git reparses as --upload-pack=. Exploitation requires an application to forward attacker-controlled kwargs, including split_single_char_options=False and a single-character key, into methods such as clone_from, fetch, pull, or push; when reachable, code runs with the host process's privileges even though allow_unsafe_options remains false by default.
Summary
What happened
Argument injection in GitPython before 3.1.58 allows attackers to execute OS commands via crafted kwargs passed to guarded Git methods. The check_unsafe_options guard examines only the bare single-character option when split_single_char_options=False, but transform_kwarg later joins that key and attacker-controlled value into one token that git reparses as --upload-pack=. Exploitation requires an application to forward attacker-controlled kwargs, including split_single_char_options=False and a single-character key, into methods such as clone_from, fetch, pull, or push; when reachable, code runs with the host process's privileges even though allow_unsafe_options remains false by default.
The record
- CVE
- CVE-2026-76220
- Published
- Aug 19, 2026
- Updated
- Aug 20, 2026
- Vendor
- GitPython Developers
- Product
- GitPython
- Classifications
- CWE-88, T1059
- Attack vector
- network
- Privileges
- authenticated
Timeline
How it unfolded
- Aug 19, 2026CVE publishedPublication date reported by the CVE source.
- Aug 20, 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?
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.
Weakness, pattern, technique
Public exploit references
- GHSA-wvpp-8hx9-p66j 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