CVE-2025-27614
High · 8.6CVSS
8.6
EPSS
0.4%
Published
Jul 10, 2025
CISA due date
—
Cloudanix analysis
Someone can trick a developer using a Git history viewer into accidentally running harmful code from a specially made repository.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Command Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A crafted Git repository allows arbitrary script execution via gitk when a user invokes it on a specially structured filename, running the attacker-supplied script with the user's privileges.
Why it matters to the business
Developers or users interacting with malicious repositories risk unauthorized code execution on their systems, potentially leading to credential theft, data exfiltration, or further compromise; urgency remains moderate given the 475-day publication age, lack of KEV listing, and slow EPSS growth despite named threat actor references.
How an attack unfolds
An attacker creates a Git repository containing a filename with a particular structure that embeds or references an arbitrary script (Bourne shell, Perl, Python, etc.); through social engineering the victim is induced to clone the repository and run gitk against that filename, triggering execution of the script under the victim's privileges. The Git Link Following Vulnerability campaign highlights targeted use against developers.
How to fix it
Upgrade Git to one of the fixed versions 2.43.7, 2.44.4, 2.45.4, 2.46.4, 2.47.3, 2.48.2, 2.49.1, or 2.50; for the listed packages apply jitsucom-jitsu, jitsucom-jitsu-console, and jitsucom-jitsu-rotor updates to 2.10.0-r2 on both Chainguard and Wolfi; update j6t/gitk to commit 8e3070aa5e331be45d4d03e3be41f84494fce129.
How to confirm the fix worked
Verify the installed Git version matches a fixed release; attempt to reproduce the issue with a test repository containing a crafted filename and confirm no script execution occurs; review package manifests for the exact fixed versions listed per distribution.
Typical attack path
- Craft a malicious Git repository embedding a specially structured filename that references an attacker-controlled script
- Distribute or socially engineer the victim into cloning the repository
- Trick the victim into invoking gitk on the crafted filename
- Script executes with the privileges of the invoking user
How to detect it
Search process execution logs and command-line audit trails for gitk invocations referencing unusual or specially named files within cloned repositories; correlate with subsequent execution of scripts (shell, Python, Perl) that were not explicitly invoked by the user; review threat actor references to the Git Link Following Vulnerability for context on targeted developer environments.
- gitk filename
- gitk invocation on repository path containing embedded script reference
- unexpected script execution immediately following gitk process start
What your security team should do
- Immediately upgrade all Git installations to a patched version listed in remediation guidance
- Block or monitor gitk usage in CI/CD or developer environments until patches are applied
- Educate users on risks of invoking gitk directly on untrusted repository contents
- Add gitk and related Tcl/Tk processes to endpoint monitoring rules for anomalous script execution
The record
Gitk is a Tcl/Tk based Git history browser. Starting with 2.41.0, a Git repository can be crafted in such a way that with some social engineering a user who has cloned the repository can be tricked into running any script (e.g., Bourne shell, Perl, Python, ...) supplied by the attacker by invoking gitk filename, where filename has a particular structure. The script is run with the privileges of the user. 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.
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 |
| 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-46835 Git GUI allows you to use the Git source control management tools via a GUI. 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