CVE-2026-73624: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') in gitpython-developers GitPython
CVE-2026-73624 is a vulnerability in the Snowflake CLI's use of GitPython where the Diffable.diff() method improperly forwards user-controlled arguments to git diff commands without safety checks. This allows an attacker to overwrite arbitrary files with diff output at the process privilege level by injecting a --output argument. The flaw affects versions from 3.4.1 up to but not including 3.24.0. A patch is available to add proper option checks or to prevent option parsing of user input.
AI Analysis
Technical Summary
The Snowflake CLI uses GitPython's Diffable.diff() method which forwards **kwargs directly into git diff or diff-tree commands without invoking check_unsafe_options. Because Diffable is mixed into multiple git object classes, this exposes a broad attack surface. An attacker can supply a crafted 'other' argument such as '--output=/path/to/file' which git interprets as an option to write diff output to an arbitrary file, enabling arbitrary file overwrite at the privilege level of the process. This was verified on version 3.1.53 and affects versions >=3.4.1 <3.24.0. The vulnerability is due to missing safety checks and improper argument ordering that allows user input to be parsed as git options. The suggested fix is to add check_unsafe_options to Diffable.diff or insert a '--end-of-options' marker before user-controlled refs to prevent option injection.
Potential Impact
An attacker able to invoke Diffable.diff() with crafted arguments can overwrite or corrupt any file accessible by the process, including sensitive files like ~/.ssh/authorized_keys or configuration files. The content written is the real diff or patch output, which is attacker-influenced. This can lead to privilege escalation or persistent compromise depending on the overwritten file. The impact is high due to arbitrary file overwrite at process privilege.
Mitigation Recommendations
A patch is available for this vulnerability. The vendor recommends adding check_unsafe_options to the Diffable.diff method or placing a '--end-of-options' marker before user-controlled arguments to prevent option injection. Users should upgrade to a fixed version beyond 3.24.0. Until patched, avoid passing untrusted input to Diffable.diff or related methods that invoke git diff commands.
CVE-2026-73624: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') in gitpython-developers GitPython
Description
CVE-2026-73624 is a vulnerability in the Snowflake CLI's use of GitPython where the Diffable.diff() method improperly forwards user-controlled arguments to git diff commands without safety checks. This allows an attacker to overwrite arbitrary files with diff output at the process privilege level by injecting a --output argument. The flaw affects versions from 3.4.1 up to but not including 3.24.0. A patch is available to add proper option checks or to prevent option parsing of user input.
CVSS v4.0
Score 7.2high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Snowflake CLI uses GitPython's Diffable.diff() method which forwards **kwargs directly into git diff or diff-tree commands without invoking check_unsafe_options. Because Diffable is mixed into multiple git object classes, this exposes a broad attack surface. An attacker can supply a crafted 'other' argument such as '--output=/path/to/file' which git interprets as an option to write diff output to an arbitrary file, enabling arbitrary file overwrite at the privilege level of the process. This was verified on version 3.1.53 and affects versions >=3.4.1 <3.24.0. The vulnerability is due to missing safety checks and improper argument ordering that allows user input to be parsed as git options. The suggested fix is to add check_unsafe_options to Diffable.diff or insert a '--end-of-options' marker before user-controlled refs to prevent option injection.
Potential Impact
An attacker able to invoke Diffable.diff() with crafted arguments can overwrite or corrupt any file accessible by the process, including sensitive files like ~/.ssh/authorized_keys or configuration files. The content written is the real diff or patch output, which is attacker-influenced. This can lead to privilege escalation or persistent compromise depending on the overwritten file. The impact is high due to arbitrary file overwrite at process privilege.
Mitigation Recommendations
A patch is available for this vulnerability. The vendor recommends adding check_unsafe_options to the Diffable.diff method or placing a '--end-of-options' marker before user-controlled arguments to prevent option injection. Users should upgrade to a fixed version beyond 3.24.0. Until patched, avoid passing untrusted input to Diffable.diff or related methods that invoke git diff commands.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- BREW-snowflake-cli-CVE-2026-73624
- Osv Schema Version
- 1.7.3
- Ecosystems
- ["Homebrew"]
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6abb41aef7a7c54106cc3a70
Added to database: 09/29/2026, 04:42:22 UTC
Last enriched: 09/29/2026, 05:01:45 UTC
Last updated: 09/29/2026, 05:01:45 UTC
Views: 2
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.