Cloudanix VulnDB

CVE-2025-46835

High · 8.5

CVSS

8.5

EPSS

0.6%

Published

Jul 10, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the graphical version of Git can let an attacker secretly change or create files on your computer when you open a project from an untrusted source.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Data Tampering
Component
Application
Class
Path Traversal
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Path traversal flaw in Git GUI that allows creation and overwrite of arbitrary files (for which the user has write permission) outside the repository root when a user clones an untrusted repository and interacts with a file inside a maliciously named directory.

Why it matters to the business

Attackers can silently modify or destroy user-writable files on developer workstations, resulting in data loss, configuration tampering, or supply-chain compromise that disrupts development workflows and requires incident response.

How an attack unfolds

An attacker publishes a repository containing a directory whose name is crafted to exploit path traversal. The victim clones the repository using Git GUI and is socially engineered into editing a file inside that directory; the GUI then follows the malicious path and writes attacker-controlled content to arbitrary locations on disk.

How to fix it

Upgrade Git to one of the fixed releases: 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1, or 2.50.1. Organizations using packaged distributions should apply the corresponding patched package versions that incorporate these Git fixes.

How to confirm the fix worked

Verify the installed Git version meets or exceeds a fixed release, attempt to reproduce the issue with a test repository containing a malicious directory name, and confirm that file writes remain confined to the repository working tree.

Typical attack path

  1. Attacker creates a repository with a directory name containing path traversal sequences
  2. Victim is tricked into cloning the repository with Git GUI
  3. Victim opens or edits a file located inside the malicious directory
  4. Git GUI resolves the crafted path and creates or overwrites files outside the repository
  5. Attacker-chosen content is written to locations the user can write to

How to detect it

Review file-system audit logs and process execution history for Git GUI processes writing to paths outside recently cloned repository directories; correlate with repository clone timestamps and look for unexpected file creations or modifications shortly after GUI interaction.

What your security team should do

  • Immediately upgrade all Git installations to a fixed version listed above
  • Disable or restrict Git GUI usage for untrusted repositories until patches are deployed
  • Add repository-clone and file-edit events to endpoint monitoring to detect anomalous file writes
  • Communicate the upgrade requirement to all developers with a short deadline

The record

Git GUI allows you to use the Git source control management tools via a GUI. When a user clones an untrusted repository and is tricked into editing a file located in a maliciously named directory in the repository, then Git GUI can create and overwrite files for which the user has write permission. This vulnerability is fixed in 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1, and 2.50.1.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:10 git 0 2.47.3-1.el10_0
AlmaLinux:10 git-all 0 2.47.3-1.el10_0
AlmaLinux:10 git-core 0 2.47.3-1.el10_0
AlmaLinux:10 git-core-doc 0 2.47.3-1.el10_0
AlmaLinux:10 git-credential-libsecret 0 2.47.3-1.el10_0
AlmaLinux:10 git-daemon 0 2.47.3-1.el10_0
AlmaLinux:10 git-email 0 2.47.3-1.el10_0
AlmaLinux:10 git-gui 0 2.47.3-1.el10_0
AlmaLinux:10 git-instaweb 0 2.47.3-1.el10_0
AlmaLinux:10 git-subtree 0 2.47.3-1.el10_0
AlmaLinux:10 git-svn 0 2.47.3-1.el10_0
AlmaLinux:10 gitk 0 2.47.3-1.el10_0
AlmaLinux:10 gitweb 0 2.47.3-1.el10_0
AlmaLinux:10 perl-Git 0 2.47.3-1.el10_0
AlmaLinux:10 perl-Git-SVN 0 2.47.3-1.el10_0
AlmaLinux:8 git 0 2.43.7-1.el8_10
AlmaLinux:8 git-all 0 2.43.7-1.el8_10
AlmaLinux:8 git-core 0 2.43.7-1.el8_10
AlmaLinux:8 git-core-doc 0 2.43.7-1.el8_10
AlmaLinux:8 git-credential-libsecret 0 2.43.7-1.el8_10
AlmaLinux:8 git-daemon 0 2.43.7-1.el8_10
AlmaLinux:8 git-email 0 2.43.7-1.el8_10
AlmaLinux:8 git-gui 0 2.43.7-1.el8_10
AlmaLinux:8 git-instaweb 0 2.43.7-1.el8_10
AlmaLinux:8 git-subtree 0 2.43.7-1.el8_10
AlmaLinux:8 git-svn 0 2.43.7-1.el8_10
AlmaLinux:8 gitk 0 2.43.7-1.el8_10
AlmaLinux:8 gitweb 0 2.43.7-1.el8_10
AlmaLinux:8 perl-Git 0 2.43.7-1.el8_10
AlmaLinux:8 perl-Git-SVN 0 2.43.7-1.el8_10
AlmaLinux:9 git 0 2.47.3-1.el9_6
AlmaLinux:9 git-all 0 2.47.3-1.el9_6
AlmaLinux:9 git-core 0 2.47.3-1.el9_6
AlmaLinux:9 git-core-doc 0 2.47.3-1.el9_6
AlmaLinux:9 git-credential-libsecret 0 2.47.3-1.el9_6
AlmaLinux:9 git-daemon 0 2.47.3-1.el9_6
AlmaLinux:9 git-email 0 2.47.3-1.el9_6
AlmaLinux:9 git-gui 0 2.47.3-1.el9_6
AlmaLinux:9 git-instaweb 0 2.47.3-1.el9_6
AlmaLinux:9 git-subtree 0 2.47.3-1.el9_6
AlmaLinux:9 git-svn 0 2.47.3-1.el9_6
AlmaLinux:9 gitk 0 2.47.3-1.el9_6
AlmaLinux:9 gitweb 0 2.47.3-1.el9_6
AlmaLinux:9 perl-Git 0 2.47.3-1.el9_6
AlmaLinux:9 perl-Git-SVN 0 2.47.3-1.el9_6
Alpine:v3.19 git 0 2.43.7-r0
Alpine:v3.20 git 0 2.45.4-r0
Alpine:v3.21 git 0 2.47.3-r0
Alpine:v3.22 git 0 2.49.1-r0
Debian:11 git 0 No fix
Debian:12 git 0 No fix
Debian:13 git 0 No fix
Debian:14 git 0 1:2.50.1-0.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 git 0 2.51.0-150600.3.12.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 git 0 2.51.0-150600.3.12.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 git 0 2.51.0-150600.3.12.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 git-lfs 0 3.7.0-150600.13.3.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 obs-scm-bridge 0 0.7.4-150600.14.4.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 git 0 2.51.0-150600.3.12.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 git-lfs 0 3.7.0-150600.13.3.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 obs-scm-bridge 0 0.7.4-150600.14.4.1
SUSE:Linux Enterprise Module for Python 3 15 SP6 python-PyYAML 0 6.0.2-150600.10.3.1
SUSE:Linux Enterprise Module for Python 3 15 SP7 python-PyYAML 0 6.0.2-150600.10.3.1
SUSE:Linux Enterprise Server 12 SP5-LTSS git 0 2.26.2-27.81.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 git 0 2.26.2-27.81.1
openSUSE:Leap 15.6 git 0 2.51.0-150600.3.12.1
openSUSE:Leap 15.6 git-lfs 0 3.7.0-150600.13.3.1
openSUSE:Leap 15.6 obs-scm-bridge 0 0.7.4-150600.14.4.1
openSUSE:Leap 15.6 python-PyYAML 0 6.0.2-150600.10.3.1
openSUSE:Tumbleweed git 0 2.50.1-1.1

Related vulnerabilities