| Git v2.43.7 Release Notes | |
| ========================= | |
| This release includes fixes for CVE-2025-27613, CVE-2025-27614, | |
| CVE-2025-46334, CVE-2025-46835, CVE-2025-48384, CVE-2025-48385, and | |
| CVE-2025-48386. | |
| Fixes since v2.43.6 | |
| ------------------- | |
| * 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. |