| Git v2.39.4 Release Notes | |
| ========================= | |
| This addresses the security issues CVE-2024-32002, CVE-2024-32004, | |
| CVE-2024-32020 and CVE-2024-32021. | |
| This release also backports fixes necessary to let the CI builds pass | |
| successfully. | |
| Fixes since v2.39.3 | |
| ------------------- | |
| * CVE-2024-32002: | |
| Recursive clones on case-insensitive filesystems that support symbolic | |
| links are susceptible to case confusion that can be exploited to | |
| execute just-cloned code during the clone operation. | |
| * CVE-2024-32004: | |
| Repositories can be configured to execute arbitrary code during local | |
| clones. To address this, the ownership checks introduced in v2.30.3 | |
| are now extended to cover cloning local repositories. | |
| * CVE-2024-32020: | |
| Local clones may end up hardlinking files into the target repository's | |
| object database when source and target repository reside on the same | |
| disk. If the source repository is owned by a different user, then | |
| those hardlinked files may be rewritten at any point in time by the | |
| untrusted user. | |
| * CVE-2024-32021: | |
| When cloning a local source repository that contains symlinks via the | |
| filesystem, Git may create hardlinks to arbitrary user-readable files | |
| on the same filesystem as the target repository in the objects/ | |
| directory. | |
| * CVE-2024-32465: | |
| It is supposed to be safe to clone untrusted repositories, even those | |
| unpacked from zip archives or tarballs originating from untrusted | |
| sources, but Git can be tricked to run arbitrary code as part of the | |
| clone. | |
| * Defense-in-depth: submodule: require the submodule path to contain | |
| directories only. | |
| * Defense-in-depth: clone: when symbolic links collide with directories, keep | |
| the latter. | |
| * Defense-in-depth: clone: prevent hooks from running during a clone. | |
| * Defense-in-depth: core.hooksPath: add some protection while cloning. | |
| * Defense-in-depth: fsck: warn about symlink pointing inside a gitdir. | |
| * Various fix-ups on HTTP tests. | |
| * Test update. | |
| * HTTP Header redaction code has been adjusted for a newer version of | |
| cURL library that shows its traces differently from earlier | |
| versions. | |
| * Fix was added to work around a regression in libcURL 8.7.0 (which has | |
| already been fixed in their tip of the tree). | |
| * Replace macos-12 used at GitHub CI with macos-13. | |
| * ci(linux-asan/linux-ubsan): let's save some time | |
| * Tests with LSan from time to time seem to emit harmless message that makes | |
| our tests unnecessarily flakey; we work it around by filtering the | |
| uninteresting output. | |
| * Update GitHub Actions jobs to avoid warnings against using deprecated | |
| version of Node.js. |