CVE-2025-46835
High · 8.5CVSS
8.5
EPSS
0.6%
Published
Jul 10, 2025
CISA due date
—
Cloudanix analysis
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
- Attacker creates a repository with a directory name containing path traversal sequences
- Victim is tricked into cloning the repository with Git GUI
- Victim opens or edits a file located inside the malicious directory
- Git GUI resolves the crafted path and creates or overwrites files outside the repository
- 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
- CVE-2025-27614 Gitk is a Tcl/Tk based Git history browser. Also affects git
- CVE-2025-27613 Gitk is a Tcl/Tk based Git history browser. Also affects git
- CVE-2025-48385 Git is a fast, scalable, distributed revision control system with an unusually rich… Also affects git
- CVE-2025-48384 Git is a fast, scalable, distributed revision control system with an unusually rich… Also affects git
- CVE-2024-52005 Git is a source code management tool. Also affects git
- CVE-2024-52006 Git is a fast, scalable, distributed revision control system with an unusually rich… Also affects git
- CVE-2024-50349 Git is a fast, scalable, distributed revision control system with an unusually rich… Also affects git
- CVE-2025-46334 Git GUI allows you to use the Git source control management tools via a GUI. Also affects git