CVE-2024-32021
Fixed in a distro release EPSS 1%CVSS 3.9
Git is a revision control system. Prior to versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4, 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. Cloning a local repository over the filesystem may creating hardlinks to arbitrary user-owned files on the same filesystem in the target Git repository's `objects/` directory. When cloning a repository over the filesystem (without explicitly specifying the `file://` protocol or `--no-local`), the optimizations for local cloning will be used, which include attempting to hard link the object files instead of copying them. While the code includes checks against symbolic links in the source repository, which were added during the fix for CVE-2022-39253, these checks can still be raced because the hard link operation ultimately follows symlinks. If the object on the filesystem appears as a file during the check, and then a symlink during the operation, this will allow the adversary to bypass the check and create hardlinks in the destination objects directory to arbitrary, user-readable files. The problem has been patched in versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4.
Products: git
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| AlmaLinux 8 | git | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-all | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-core | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-core-doc | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-credential-libsecret | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-daemon | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-email | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-gui | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-instaweb | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-subtree | 2.43.5-1.el8_10 |
| AlmaLinux 8 | git-svn | 2.43.5-1.el8_10 |
| AlmaLinux 8 | gitk | 2.43.5-1.el8_10 |
| AlmaLinux 8 | gitweb | 2.43.5-1.el8_10 |
| AlmaLinux 8 | perl-Git | 2.43.5-1.el8_10 |
| AlmaLinux 8 | perl-Git-SVN | 2.43.5-1.el8_10 |
| AlmaLinux 9 | git | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-all | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-core | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-core-doc | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-credential-libsecret | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-daemon | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-email | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-gui | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-instaweb | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-subtree | 2.43.5-1.el9_4 |
| AlmaLinux 9 | git-svn | 2.43.5-1.el9_4 |
| AlmaLinux 9 | gitk | 2.43.5-1.el9_4 |
| AlmaLinux 9 | gitweb | 2.43.5-1.el9_4 |
| AlmaLinux 9 | perl-Git | 2.43.5-1.el9_4 |
| AlmaLinux 9 | perl-Git-SVN | 2.43.5-1.el9_4 |
| Alpine 3.17 | git | 2.39.5-r0 |
| Alpine 3.18 | git | 2.40.3-r0 |
| Alpine 3.19 | git | 2.43.4-r0 |
| Alpine 3.20 | git | 2.45.1-r0 |
| Alpine 3.21 | git | 2.45.1-r0 |
| Alpine 3.22 | git | 2.45.1-r0 |
| Alpine 3.23 | git | 2.45.1-r0 |
| Alpine 3.24 | git | 2.45.1-r0 |
| Amazon Linux 2 | git | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-all | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-core | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-core-doc | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-credential-libsecret | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-cvs | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-daemon | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-email | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-gui | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-instaweb | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-p4 | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-subtree | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | git-svn | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | gitk | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | gitweb | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | perl-Git | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2 | perl-Git-SVN | 2.40.1-1.amzn2.0.3 |
| Amazon Linux 2023 | git | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-all | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-core | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-core-doc | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-credential-libsecret | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-cvs | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-daemon | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-email | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-gui | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-instaweb | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-p4 | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-subtree | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | git-svn | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | gitk | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | gitweb | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | perl-Git | 2.40.1-1.amzn2023.0.3 |
| Amazon Linux 2023 | perl-Git-SVN | 2.40.1-1.amzn2023.0.3 |
| Chainguard | git | 2.45.1-r0 |
| Debian 10 | git | 1:2.20.1-2+deb10u9 |
| Debian 11 | git | 1:2.30.2-1+deb11u3 |
| Debian 12 | git | 1:2.39.5-0+deb12u1 |
| Debian 13 | git | 1:2.45.1-1 |
| Debian 14 | git | 1:2.45.1-1 |
| Red Hat Enterprise Linux 8 | git | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-all | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-core | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-core-debuginfo | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-core-doc | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-credential-libsecret | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-credential-libsecret-debuginfo | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-daemon | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-daemon-debuginfo | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-debuginfo | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-debugsource | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-email | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-gui | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-instaweb | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-subtree | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | git-svn | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | gitk | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | gitweb | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | perl-Git | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 8 | perl-Git-SVN | 0:2.43.5-1.el8_10 |
| Red Hat Enterprise Linux 9 | git | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-all | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-core | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-core-debuginfo | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-core-doc | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-credential-libsecret | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-credential-libsecret-debuginfo | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-daemon | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-daemon-debuginfo | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-debuginfo | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-debugsource | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-email | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-gui | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-instaweb | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-subtree | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | git-svn | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | gitk | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | gitweb | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | perl-Git | 0:2.43.5-1.el9_4 |
| Red Hat Enterprise Linux 9 | perl-Git-SVN | 0:2.43.5-1.el9_4 |
| Red Hat rhel eus 9.2 | git | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-all | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-core | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-core-debuginfo | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-core-doc | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-credential-libsecret | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-credential-libsecret-debuginfo | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-daemon | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-daemon-debuginfo | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-debuginfo | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-debugsource | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-email | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-gui | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-instaweb | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-subtree | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | git-svn | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | gitk | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | gitweb | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | perl-Git | 0:2.39.5-1.el9_2 |
| Red Hat rhel eus 9.2 | perl-Git-SVN | 0:2.39.5-1.el9_2 |
| Rocky Linux 8 | git | 0:2.43.5-1.el8_10 |
| Rocky Linux 9 | git | 0:2.43.5-1.el9_4 |
| SUSE Enterprise Storage 7.1 | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | git | 2.26.2-150000.56.1 |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Micro 5.5 | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | git | 2.43.0-150600.3.3.1 |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | git | 2.43.0-150600.3.3.1 |
| SUSE Linux Enterprise Server 12 SP5-LTSS | git | 2.26.2-27.78.1 |
| SUSE Linux Enterprise Server 15 SP2-LTSS | git | 2.26.2-150000.56.1 |
| SUSE Linux Enterprise Server 15 SP3-LTSS | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Server 15 SP4-LTSS | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | git | 2.26.2-27.78.1 |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | git | 2.26.2-150000.56.1 |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | git | 2.35.3-150300.10.39.1 |
| SUSE Linux Micro 6.0 | git | 2.45.1-1.1 |
| SUSE Manager Proxy 4.3 | git | 2.35.3-150300.10.39.1 |
| SUSE Manager Server 4.3 | git | 2.35.3-150300.10.39.1 |
| Ubuntu 20.04 LTS | git | 1:2.25.1-1ubuntu3.12 |
| Ubuntu 22.04 LTS | git | 1:2.34.1-1ubuntu1.11 |
| Ubuntu 24.04 LTS | git | 1:2.43.0-1ubuntu7.1 |
| Ubuntu Pro 16.04 LTS | git | 1:2.7.4-0ubuntu1.10+esm8 |
| Ubuntu Pro 18.04 LTS | git | 1:2.17.1-1ubuntu0.18+esm1 |
| Wolfi | git | 2.45.1-r0 |
| openSUSE Leap 15.5 | git | 2.35.3-150300.10.39.1 |
| openSUSE Leap 15.6 | git | 2.43.0-150600.3.3.1 |
| openSUSE Tumbleweed | git | 2.45.1-1.1 |