Snowflake cli: GitPython: Newline injection in config_writer().set_value() enables RCE via core.hooksPath (CVE-2026-44244)
GitPython's config_writer().set_value() method does not validate newline characters in values, allowing injection of a new [core] section with a hooksPath configuration. This enables an attacker to control Git hook execution paths, potentially leading to remote code execution during Git operations that invoke hooks. The vulnerability affects versions of snowflake-cli using GitPython >=3.4.1 and <3.18.0. A fix is available that rejects values containing CR, LF, or NUL characters.
AI Analysis
Technical Summary
The vulnerability arises because GitPython's set_value() method passes user-supplied values to Python's configparser without sanitizing newline characters. Although GitPython converts embedded newlines into indented continuation lines, Git itself accepts these indented lines as new section headers. This allows injection of a [core] section with a hooksPath setting pointing to an attacker-controlled directory. When Git operations that trigger hooks (commit, merge, checkout) run, they execute scripts from this malicious path. The issue was identified in the context of MLRun's project.push() method, which passes unsanitized author_name and author_email values to set_value(). The vulnerability enables persistent repository config poisoning and remote code execution in multi-user or shared environments. The recommended remediation is to reject any config values containing CR, LF, or NUL characters to prevent injection.
Potential Impact
An attacker who can supply author_name or author_email to an application using GitPython's config_writer().set_value() can inject a malicious core.hooksPath into the repository's .git/config. This causes Git to execute attacker-controlled hook scripts during Git operations that invoke hooks, leading to remote code execution. In multi-user or shared repository environments, this can affect all users performing Git operations. On single-user setups, the impact depends on whether Git hooks are invoked automatically by the application.
Mitigation Recommendations
A patch is available that modifies set_value() to raise an exception if the value contains carriage return (CR), line feed (LF), or null (NUL) characters, preventing injection. Users should upgrade to a fixed version of snowflake-cli that includes this patch or apply equivalent validation to reject unsafe input. Rejecting values with these characters is safer than stripping them, as silent normalization can mask unsanitized inputs.
Snowflake cli: GitPython: Newline injection in config_writer().set_value() enables RCE via core.hooksPath (CVE-2026-44244)
Description
GitPython's config_writer().set_value() method does not validate newline characters in values, allowing injection of a new [core] section with a hooksPath configuration. This enables an attacker to control Git hook execution paths, potentially leading to remote code execution during Git operations that invoke hooks. The vulnerability affects versions of snowflake-cli using GitPython >=3.4.1 and <3.18.0. A fix is available that rejects values containing CR, LF, or NUL characters.
CVSS v3.1
Score 7.8high
Affected software
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 GitPython's set_value() method passes user-supplied values to Python's configparser without sanitizing newline characters. Although GitPython converts embedded newlines into indented continuation lines, Git itself accepts these indented lines as new section headers. This allows injection of a [core] section with a hooksPath setting pointing to an attacker-controlled directory. When Git operations that trigger hooks (commit, merge, checkout) run, they execute scripts from this malicious path. The issue was identified in the context of MLRun's project.push() method, which passes unsanitized author_name and author_email values to set_value(). The vulnerability enables persistent repository config poisoning and remote code execution in multi-user or shared environments. The recommended remediation is to reject any config values containing CR, LF, or NUL characters to prevent injection.
Potential Impact
An attacker who can supply author_name or author_email to an application using GitPython's config_writer().set_value() can inject a malicious core.hooksPath into the repository's .git/config. This causes Git to execute attacker-controlled hook scripts during Git operations that invoke hooks, leading to remote code execution. In multi-user or shared repository environments, this can affect all users performing Git operations. On single-user setups, the impact depends on whether Git hooks are invoked automatically by the application.
Mitigation Recommendations
A patch is available that modifies set_value() to raise an exception if the value contains carriage return (CR), line feed (LF), or null (NUL) characters, preventing injection. Users should upgrade to a fixed version of snowflake-cli that includes this patch or apply equivalent validation to reject unsafe input. Rejecting values with these characters is safer than stripping them, as silent normalization can mask unsanitized inputs.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- BREW-snowflake-cli-CVE-2026-44244
- Osv Schema Version
- 1.7.3
- Ecosystems
- ["Homebrew"]
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6abb41adf7a7c54106cc3a61
Added to database: 09/29/2026, 04:42:21 UTC
Last enriched: 09/29/2026, 05:00:33 UTC
Last updated: 09/29/2026, 18:11:18 UTC
Views: 13
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.