Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
AV:L because the malicious repo must be local; UI:R because TortoiseGitBlame must be actively invoked; PR:N as no privileges required on victim system; I:H for arbitrary file write; C and A both N.
Primary rating from Vendor (GitLab).
CVSS VectorVendor: GitLab
Lifecycle Timeline
2DescriptionCVE.org
Argument Injection in TortoiseGitBlame via Malicious Git History Filenames Leads to Arbitrary File Write in TortoiseGit
AnalysisAI
Arbitrary file write in TortoiseGit's TortoiseGitBlame component is triggered when a user opens a malicious git repository and invokes blame history on a file whose historical filenames contain argument injection payloads. The injected arguments are passed unsanitized to underlying git subprocess calls, allowing an attacker-controlled repository to write files to arbitrary paths on the victim's Windows filesystem. No public exploit has been identified at time of analysis, and no KEV listing exists; however, a fix commit is available upstream.
Technical ContextAI
TortoiseGit is a Windows shell extension providing GUI integration for Git, including TortoiseGitBlame for per-line annotation history. The CPE cpe:2.3:a:tortoisegit_team:tortoisegit:*:*:*:*:*:*:*:* indicates all tracked versions are affected with no upper-bound cutoff confirmed. CWE-88 (Argument Injection or Modification) describes the root cause: when TortoiseGitBlame constructs git subprocess invocations using filenames retrieved from git repository history, specially crafted filenames containing argument delimiters or flag-like strings are passed without proper sanitization. This allows the attacker-controlled filename to introduce additional command-line arguments - such as output redirection flags or path parameters - into the underlying git invocation, resulting in writes to attacker-specified filesystem paths.
RemediationAI
An upstream fix is available as commit 7052e3ef61cd104f8a90fb3dcdfb403cbc8c1773 in the TortoiseGit GitLab repository (https://gitlab.com/tortoisegit/tortoisegit/-/commit/7052e3ef61cd104f8a90fb3dcdfb403cbc8c1773); a specific patched release version is not independently confirmed from available input data - users should monitor https://tortoisegit.org/issue/4269 for an official release announcement. As a compensating control until a patched release is confirmed, avoid using TortoiseGitBlame on repositories sourced from untrusted parties, unknown sources, or received via email or external collaboration. Users who cannot restrict repository sources should consider disabling or restricting use of the TortoiseGitBlame feature entirely until a patched version is released. Note that simply cloning a malicious repository does not trigger the vulnerability - only actively invoking TortoiseGitBlame on an affected file does.
Same technique Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38733
GHSA-2h5c-f427-3wjr