CVE-2026-76220: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') in gitpython-developers GitPython
Description
CVE-2026-76220 is a command injection vulnerability in GitPython affecting versions prior to 3.1.58. It allows bypassing the unsafe options guard by combining a single-character keyword argument with split_single_char_options set to false, leading to arbitrary OS command execution via the git --upload-pack option. This flaw is an incomplete fix of a previous vulnerability and impacts all guarded methods forwarding kwargs with this configuration.
CVSS v4.0
Score 8.7high
Affected software
gitpython-developers
GitPython
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises because the _option_candidates function only derives value-token candidates when split_single_char_options is true. When false, the guard's candidate list omits the smuggled option, but transform_kwarg emits a joined token that git parses as --upload-pack, enabling arbitrary command execution. This bypasses the denylist check for unsafe options, allowing an attacker to execute OS commands as the host process. The issue affects all guarded methods that forward kwargs and use split_single_char_options=false with a single-character key. The flaw persists in GitPython versions up to and including 3.1.57.
Potential Impact
An attacker able to control kwargs passed to GitPython methods with split_single_char_options=false and a single-character key can execute arbitrary OS commands on the host running the GitPython process. This occurs despite the default allow_unsafe_options=false setting, due to the guard bypass. This can lead to full command execution capabilities within the context of the vulnerable application.
Mitigation Recommendations
No official fix is explicitly stated in the provided data. The suggested fix is to modify _option_candidates to emit value-derived candidates regardless of split_single_char_options or to run the unsafe options check over the fully transformed argv tokens. Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, avoid forwarding user-controlled kwargs with split_single_char_options set to false and single-character keys to GitPython guarded methods.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-08-19T11:35:13.689Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a85bc7aacd9273b492f49bc
Added to database: 08/19/2026, 14:23:54 UTC
Last enriched: 09/29/2026, 05:00:20 UTC
Last updated: 10/04/2026, 10:04:20 UTC
Views: 46
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.