Follow @Openwall on Twitter for new release announcements and other news
[<prev] [day] [month] [year] [list]
Message-ID: <aG1O2hp7Yh4/dmt4@nand.local>
Date: Tue, 8 Jul 2025 13:01:14 -0400
From: Taylor Blau <me@...ylorr.com>
To: oss-security@...ts.openwall.com
Cc: git-security@...glegroups.com, Avi Halachmi <avihpit@...oo.com>,
	David Leadbeater <dgl@....cx>, Jeff King <peff@...f.net>,
	Johannes Sixt <j6t@...g.org>, Junio C Hamano <gitster@...ox.com>,
	Justin Tobler <jltobler@...il.com>,
	Mark Levedahl <mdl123@...izon.net>, Patrick Steinhardt <ps@....im>,
	Taylor Blau <me@...ylorr.com>
Subject: Multiple vulnerabilities fixed in Git

The Git project released new versions of Git today, July 8, 2025,
addressing multiple security vulnerabilities. Those vulnerabilities
are: CVE-2025-27613, CVE-2025-27614, CVE-2025-46334, CVE-2025-46835,
CVE-2025-48384, CVE-2025-48385, and CVE-2025-48386.

The new versions are v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3,
v2.48.2, and v2.49.1. Many previous versions older than <= v2.50.0 are
affected.

The announcement from the Git project's mailing list may be found at:

    https://lore.kernel.org/git/xmqq5xg2wrd1.fsf@gitster.g/

We recommend upgrading. The addressed issues are as follows:

 * CVE-2025-27613, Gitk:

   When a user clones an untrusted repository and runs Gitk without
   additional command arguments, any writable file can be created and
   truncated. The option "Support per-file encoding" must have been
   enabled. The operation "Show origin of this line" is affected as
   well, regardless of the option being enabled or not.

 * CVE-2025-27614, Gitk:

   A Git repository can be crafted in such a way that a user who has
   cloned the repository can be tricked into running any script
   supplied by the attacker by invoking `gitk filename`, where
   `filename` has a particular structure.

 * CVE-2025-46334, Git GUI (Windows only):

   A malicious repository can ship versions of sh.exe or typical
   textconv filter programs such as astextplain. On Windows, path
   lookup can find such executables in the worktree. These programs
   are invoked when the user selects "Git Bash" or "Browse Files" from
   the menu.

 * CVE-2025-46835, Git 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 any writable
   file.

 * CVE-2025-48384, Git:

   When reading a config value, Git strips any trailing carriage
   return and line feed (CRLF). When writing a config entry, values
   with a trailing CR are not quoted, causing the CR to be lost when
   the config is later read.  When initializing a submodule, if the
   submodule path contains a trailing CR, the altered path is read
   resulting in the submodule being checked out to an incorrect
   location. If a symlink exists that points the altered path to the
   submodule hooks directory, and the submodule contains an executable
   post-checkout hook, the script may be unintentionally executed
   after checkout.

 * CVE-2025-48385, Git:

   When cloning a repository Git knows to optionally fetch a bundle
   advertised by the remote server, which allows the server-side to
   offload parts of the clone to a CDN. The Git client does not
   perform sufficient validation of the advertised bundles, which
   allows the remote side to perform protocol injection.

   This protocol injection can cause the client to write the fetched
   bundle to a location controlled by the adversary. The fetched
   content is fully controlled by the server, which can in the worst
   case lead to arbitrary code execution.

 * CVE-2025-48386, Git:

   The wincred credential helper uses a static buffer (`target`) as a
   unique key for storing and comparing against internal storage. This
   credential helper does not properly bounds check the available
   space remaining in the buffer before appending to it with
   `wcsncat()`, leading to potential buffer overflows.

Credit for discovering CVEs 2025-48384, 48385, and 48386 goes to David
Leadbeater. Credit for fixing the first two CVEs goes to Justin
Tobler, and Patrick Steinhardt, respectively. Credit for fixing the
third CVE is shared between Taylor Blau, and Jeff King.

Credit for finding and fixing CVE-2025-46835 goes to Johannes Sixt.
Mark Levedahl discovered and fixed CVE-2025-46334. Avi Halachmi
discovered both CVE-2025-27613 and CVE-2025-27614, and fixed the
latter. CVE-2025-27613 was fixed by Johannes Sixt.

Thanks,
Taylor

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.