Cloudanix VulnDB

CVE-2025-27613

Low · 3.6

CVSS

3.6

EPSS

0.6%

Published

Jul 10, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A tool used to view Git history can let a malicious repository damage or delete files on a user's computer when certain viewing options are turned on.

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

Gitk allows creation or truncation of arbitrary writable files when a user clones an untrusted repository and invokes gitk (with per-file encoding enabled or via Show origin of this line), due to insufficient path sanitization in Tcl/Tk handling of repository metadata.

Why it matters to the business

Attackers can corrupt or delete local files on developer workstations that process untrusted repositories, leading to data loss, disrupted workflows, and potential supply-chain risks in environments using affected Git tools; the Chainguard nemo package requires immediate upgrade to 2.3.2-r1 given the 475 days since disclosure and rising EPSS trend.

How an attack unfolds

An attacker crafts a malicious Git repository containing specially formatted metadata that triggers file operations in Gitk; the victim clones the repository and runs gitk (with Support per-file encoding or Show origin), causing Gitk to create or truncate files the user can write to. The Git Link Following Vulnerability context highlights link-following abuse in repository history viewers.

How to fix it

Upgrade Git to one of 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; for Chainguard nemo upgrade specifically to 2.3.2-r1. Disable Support per-file encoding in Gitk preferences until patched and avoid running gitk on untrusted clones.

How to confirm the fix worked

Verify installed Git version against the fixed releases listed; confirm nemo package version is at least 2.3.2-r1; test by cloning a repository with per-file encoding enabled and checking that no unexpected files are created or truncated.

Typical attack path

  1. Attacker publishes a malicious repository with crafted encoding or origin metadata
  2. Victim clones the repository without additional arguments
  3. Victim launches gitk with per-file encoding enabled or uses Show origin of this line
  4. Gitk processes the metadata and performs unauthorized file creation or truncation

How to detect it

Review shell history and process logs for invocations of gitk after cloning external repositories; inspect file-system audit logs for unexpected creation or truncation events in user-writable directories shortly after gitk execution; correlate with repository clone timestamps from threat actor campaigns referencing Git Link Following Vulnerability.

What your security team should do

  • Immediately upgrade all instances of nemo to 2.3.2-r1 and Git clients to a fixed release
  • Add repository cloning from untrusted sources to the list of high-risk activities requiring review
  • Update developer tooling policies to require patched Gitk before processing external repositories
  • Monitor EPSS trend and reassess if exploit maturity changes from None

The record

Gitk is a Tcl/Tk based Git history browser. Starting with 1.7.0, when a user clones an untrusted repository and runs gitk without additional command arguments, files for which the user has write permission can be created and truncated. The option Support per-file encoding must have been enabled before in Gitk's Preferences. This option is disabled by default. The same happens when Show origin of this line is used in the main window (regardless of whether Support per-file encoding is enabled or not). 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